sembast_sqflite 2.2.0 icon indicating copy to clipboard operation
sembast_sqflite: ^2.2.0 copied to clipboard

sembast NoSQL database support on top of sqflite, cross process safe database.

sembast_sqflite #

sembast DB for flutter on top of sqflite.

  • Supports both iOS and Android
  • Supports Flutter Web through sembast_web.
  • Supports Dart VM (Desktop) through sembast

See sembast for API usage

Setup #

Setup instructions for all platforms (Flutter/VM, iOS/Android/MacOS, Windows/Linux)

Quick usage #

Example for Flutter (iOS/Android/MacOS):

import 'package:sembast_sqflite/sembast_sqflite.dart';
import 'package:sembast_test/test_common.dart';
import 'package:sqflite/sqflite.dart' as sqflite;

export 'package:sembast/sembast.dart';

Future main() async {
  /// Sembast sqflite based database factory.
  /// Supports iOS/Android/MacOS for now.
  final factory = getDatabaseFactorySqflite(sqflite.databaseFactory);

  // Define the store, key is a string, value is a string
  var store = StoreRef<String, String>.main();
  // Define the record
  var record = store.record('my_key');

  // Open the database
  var db = await factory.openDatabase('test.db');

  // Write a record
  await record.put(db, 'my_value');

  // print store content

  // Close the database
  await db.close();

Why #

You might wonder why...sembast already has its own io format. However sembast io is not cross process safe and one might consider that it is not a well known robust database system.

Here sqflite is used as the based of a journal database that provides data to sembast, allowing a fast all-in-memory access and safe cross process database storage and transaction mechanism.

Usage #

  • sembast_sqflite should be used from the main isolate only
  • While being cross-process safe, you might encounter locked access when using multiple transactions are in progress, which could happen while debugging.
  • Applications should not rely on internal storage format
pub points


verified publisher

sembast NoSQL database support on top of sqflite, cross process safe database.

Repository (GitHub)


API reference


Icon for licenses.BSD-2-Clause (LICENSE)


collection, meta, sembast, sqflite_common, synchronized


Packages that depend on sembast_sqflite