@gauravachhani/sqlite_electron
v3.4.2
Published
Community plugin for native & electron SQLite databases
Downloads
2
Maintainers
Readme
Maintainer
| Maintainer | GitHub | Social | | ----------------- | ----------------------------------------- | ------ | | Capacitor Community | (https://www.npmjs.com/package/@capacitor-community/sqlite) | |
CAPACITOR 3 (Master)
🚨 Since release 3.2.5-2 ->> 🚨
- support zip file in copyFromAssets method
- add optional
overwrite
parameter (true/false) default to true
🚨 Since release 3.2.5-2 <<- 🚨
🚨 Since release 3.2.3-1 ->> 🚨
The initWebStore
and saveToStore
methods have been added to the Web platform.
- The
initWebStore
has been added to fix the issue#172 and since then isMANDATORY
...
if(platform === "web") {
await customElements.whenDefined('jeep-sqlite');
const jeepSqliteEl = document.querySelector('jeep-sqlite');
if(jeepSqliteEl != null) {
await sqliteConnection.initWebStore()
...
}
}
...
- the
saveToStore
allows to perform intermediate save of the database in case the browser needs to delete the cache.
🚨 Since release 3.2.3-1 <<- 🚨
The test has been achieved on:
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 @capacitor-community/sqlite
npm run build
npx cap add android
npx cap add ios
npx cap add @capacitor-community/electron
and do when you update
npx cap sync
npx cap sync @capacitor-community/electron
Web
For Angular framework
- copy manually the file
sql-wasm.wasm
fromnodes_modules/sql.js/dist/sql-wasm.wasm
to thesrc/assets
folder of YOUR_APP
For Vue & React frameworks
- copy manually the file
sql-wasm.wasm
fromnodes_modules/sql.js/dist/sql-wasm.wasm
to thepublic/assets
folder of YOUR_APP
IOS
- on iOS, no further steps needed.
Android
- On Android, no further steps needed.
Electron
- On Electron, go to the Electron folder of YOUR_APPLICATION
cd electron
npm install --save sqlite3
npm install --save jszip
npm install --save-dev @types/sqlite3
npm run build
Build & Run
npm run build
npx cap copy
npx cap copy web
npx cap copy @capacitor-community/electron
Web
- Angular
ionic serve
- Vue
npm run serve
- React
npm run start
IOS
npx cap open ios
Android
npx cap open android
Electron
npx cap open @capacitor-community/electron
Readme previous releases
Issues
Configuration
No configuration required for this plugin
Supported methods
| Name | Android | iOS | Electron | Web | | :-------------------------- | :------ | :-- | :------- | :-- | | createConnection | ✅ | ✅ | ✅ | ✅ | | closeConnection | ✅ | ✅ | ✅ | ✅ | | isConnection | ✅ | ✅ | ✅ | ✅ | | open (non-encrypted DB) | ✅ | ✅ | ✅ | ✅ | | open (encrypted DB) | ✅ | ✅ | ❌ | ❌ | | close | ✅ | ✅ | ✅ | ✅ | | getVersion | ✅ | ✅ | ✅ | ✅ | | execute | ✅ | ✅ | ✅ | ✅ | | executeSet | ✅ | ✅ | ✅ | ✅ | | run | ✅ | ✅ | ✅ | ✅ | | query | ✅ | ✅ | ✅ | ✅ | | deleteDatabase | ✅ | ✅ | ✅ | ✅ | | importFromJson | ✅ | ✅ | ✅ | ✅ | | exportToJson | ✅ | ✅ | ✅ | ✅ | | createSyncTable | ✅ | ✅ | ✅ | ✅ | | setSyncDate | ✅ | ✅ | ✅ | ✅ | | getSyncDate | ✅ | ✅ | ✅ | ✅ | | isJsonValid | ✅ | ✅ | ✅ | ✅ | | isDBExists | ✅ | ✅ | ✅ | ✅ | | addUpgradeStatement | ✅ | ✅ | ✅ | ✅ | | copyFromAssets | ✅ | ✅ | ✅ | ✅ | | isDBOpen | ✅ | ✅ | ✅ | ✅ | | isDatabase | ✅ | ✅ | ✅ | ✅ | | isTableExists | ✅ | ✅ | ✅ | ✅ | | getDatabaseList | ✅ | ✅ | ✅ | ✅ | | getMigratableDbList | ✅ | ✅ | ❌ | ❌ | | addSQLiteSuffix | ✅ | ✅ | ❌ | ❌ | | deleteOldDatabases | ✅ | ✅ | ❌ | ❌ | | checkConnectionsConsistency | ✅ | ✅ | ✅ | ✅ | | isSecretStored | ✅ | ✅ | ❌ | ❌ | | setEncryptionSecret | ✅ | ✅ | ❌ | ❌ | | changeEncryptionSecret | ✅ | ✅ | ❌ | ❌ | | initWebStore | ❌ | ❌ | ❌ | ✅ | | saveToStore | ❌ | ❌ | ❌ | ✅ |
Supported SQLite Types
-Datatypes In SQLite Version 3
Documentation
API
Framework's Usage
Applications demonstrating the use of the plugin
Ionic/Angular
Ionic/React
React+Vite
Ionic/Vue
Vue
Vue+Vite
Usage
Dependencies
The iOS and Android codes are using SQLCipher
allowing for database encryption.
The iOS codes is using ZIPFoundation
for unzipping assets files
The Electron code is using sqlite3
.
The Web code is using the Stencil component jeep-sqlite
based on sql.js
, localforage
. and jszip