sqflite_common_ffi_web 0.2.0+1 sqflite_common_ffi_web: ^0.2.0+1 copied to clipboard
Sqflite web implementation using sqlite3 ffi and sqlite3 wasm.
sqflite_common_ffi_web #
sqlite Web implementation (experimental). Features:
- Persistency (in indexeddb)
- Cross-tab safe (runs in web worker)
Thanks Simon Binder for the excellent sqlite3 lib.
Setup #
Add the dependency:
dependencies:
sqflite_common_ffi_web: '>=0.1.0-dev.1'
Setup binaries #
Implementation requires sqlite3.wasm binaries into your web folder as well as a sqflite specific shared worker.
You can install binaries using the command:
$ dart run sqflite_common_ffi_web:setup
It should create the following files in your web folder:
sqflite3.wasm
sqflite_sw.js
that you can put in source control or not (personally I don't)
Use the proper factory. #
// Use the ffi web factory in web apps (flutter or dart)
var factory = databaseFactoryFfiWeb;
var db = await factory.openDatabase(inMemoryDatabasePath);
var sqliteVersion = (await db.rawQuery('select sqlite_version()')).first.values.first;
print(sqliteVersion); // should print 3.39.3
Status #
This is still experimental:
- slow
- not fully tested
- bugs