capacitor-data-storage-sqlite
                                
                                 capacitor-data-storage-sqlite copied to clipboard
                                
                                    capacitor-data-storage-sqlite copied to clipboard
                            
                            
                            
                        Capacitor Data Storage SQLite Plugin for IOS and Android

DATA STORAGE SQLITE
capacitor-data-storage-sqlite
CAPACITOR 5
Note from the Owner
Start -->
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
| Maintainer | GitHub | Social | 
|---|---|---|
| Quéau Jean Pierre | jepiqueau | 
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
- On Electron
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
- 
API_Documentation 
- 
USAGE_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 sqlite3package
Contributors ✨
Thanks goes to these wonderful people (emoji key):
| Jean Pierre Quéau 💻 | Matthew Burke 📖 | Kevin van Schaijk 💻 | Andy Garbett 📖 | 
This project follows the all-contributors specification. Contributions of any kind welcome!