capacitor-data-storage-sqlite

SQLite Storage of key/value strings pair

Usage no npm install needed!

<script type="module">
  import capacitorDataStorageSqlite from 'https://cdn.skypack.dev/capacitor-data-storage-sqlite';
</script>

README


DATA STORAGE SQLITE

capacitor-data-storage-sqlite


CAPACITOR 3


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

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!