DATA STORAGE SQLITE
capacitor-data-storage-sqlite
CAPACITOR 5
Note from the Owner
Start -->
This Plugin has been transfered to Capgo org after his original creator @jepiqueau decide to retire.
We will foreer be thankful for the work he did. Migration to Capacitor 6 is coming soon.
I have been dedicated to developing and maintaining this plugin for many years since the inception of Ionic Capacitor. Now, at 73+ years old, and with my MacBook Pro becoming obsolete for running Capacitor 6 for iOS, I have made the decision to cease maintenance of the plugin. If anyone wishes to take ownership of this plugin, they are welcome to do so.
It has been a great honor to be part of this development journey alongside the developer community. I am grateful to see many of you following me on this path and incorporating the plugin into your applications. Your comments and suggestions have motivated me to continuously improve it.
I have made this decision due to several family-related troubles that require my full attention and time. Therefore, I will not be stepping back. Thank you to all of you for your support.
End <--
Capacitor Data Storage SQlite Plugin is a custom Native Capacitor plugin providing a key-value permanent store for simple data of type string only to SQLite on IOS, Android and Electron platforms and to IndexDB for the Web platform.
Maintainers
Browser Support
The plugin follows the guidelines from the Capacitor Team
,
meaning that it will not work in IE11 without additional JavaScript transformations, e.g. with Babel.
Installation
npm install --save capacitor-data-storage-sqlite
npx cap sync
-
On iOS, no further steps are needed.
-
On Android, no further steps are needed.
-
On Web,
npm install --save localforage
npm install --save @capacitor-community/electron
npx cap add @capacitor-community/electron
Go to the Electron folder of your application
cd electron
npm install --save sqlite3
npm install --save-dev @types/sqlite3
npm run build
cd ..
npx cap sync @capacitor-community/electron
Then build YOUR_APPLICATION
npm run build
npx cap copy
npx cap copy @capacitor-community/electron
npx cap open ios
npx cap open android
npx cap open @capacitor-community/electron
ionic serve
Configuration
No configuration required for this plugin
Supported methods
Name | Android | iOS | Electron | Web |
---|
openStore (non-encrypted DB) | ✅ | ✅ | ✅ | ✅ |
openStore (encrypted DB) | ✅ | ✅ | ❌ | ❌ |
closeStore | ✅ | ✅ | ✅ | ❌ |
isStoreOpen | ✅ | ✅ | ✅ | ❌ |
isStoreExists | ✅ | ✅ | ✅ | ❌ |
deleteStore | ✅ | ✅ | ✅ | ❌ |
setTable | ✅ | ✅ | ✅ | ✅ |
set | ✅ | ✅ | ✅ | ✅ |
get | ✅ | ✅ | ✅ | ✅ |
iskey | ✅ | ✅ | ✅ | ✅ |
keys | ✅ | ✅ | ✅ | ✅ |
values | ✅ | ✅ | ✅ | ✅ |
filtervalues | ✅ | ✅ | ✅ | ✅ |
keysvalues | ✅ | ✅ | ✅ | ✅ |
remove | ✅ | ✅ | ✅ | ✅ |
clear | ✅ | ✅ | ✅ | ✅ |
isTable | ✅ | ✅ | ✅ | ✅ |
tables | ✅ | ✅ | ✅ | ✅ |
deleteTable | ✅ | ✅ | ✅ | ❌ |
isJsonValid | ✅ | ✅ | ✅ | ✅ |
importFromJson | ✅ | ✅ | ✅ | ✅ |
exportToJson | ✅ | ✅ | ✅ | ✅ |
Documentation
Applications demonstrating the use of the plugin
Ionic/Angular
Ionic/React
React
Ionic/Vue
Vue
Usage
Dependencies
The IOS & Android code use SQLCipher allowing for database encryption.
The Android code is now based on androidx.sqlite
. The database is not closed anymore after each transaction for performance improvement.
You must manage the close
of the database before opening a new database.
The Web code use localforage
package to store the datastore in the Browser.
The Electron code use sqlite3
package
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!