Skip to content

Capacitor Data Storage SQLite Plugin for IOS and Android

License

Notifications You must be signed in to change notification settings

Cap-go/capacitor-data-storage-sqlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Capgo - Instant updates for capacitor


DATA STORAGE SQLITE

@capgo/capacitor-data-storage-sqlite


CAPACITOR 6



Note from the Owner


This Plugin has been transfered to Capgo org after his original creator @jepiqueau decide to retire.
We will forever be thankful for the work he did.


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
Martin Donadieu riderx
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 @capgo/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

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!

Retirement message of @jepiqueau -->


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 <--