newSqliteBackgroundVaultStore function

Future<SqliteVaultStore> newSqliteBackgroundVaultStore({
  1. File? file,
  2. StoreCodec? codec,
  3. bool? logStatements,
  4. DatabaseSetup? databaseSetup,
  5. bool? cachePreparedStatements,
  6. FutureOr<void> isolateSetup()?,
})

Creates a file based SqliteVaultStore on a background isolate

  • file: The path to the database file
  • codec: The StoreCodec used to convert to/from a Map<String, dynamic>` representation to a binary representation
  • logStatements: If logStatements is true (defaults to false), generated sql statements will be printed before executing
  • databaseSetup: This optional function can be used to perform a setup just after the database is opened, before drift is fully ready
  • cachePreparedStatements: controls whether drift will cache prepared statement objects
  • isolateSetup: function that can perform setup work on the isolate before opening the database.

Implementation

Future<SqliteVaultStore> newSqliteBackgroundVaultStore(
    {File? file,
    StoreCodec? codec,
    bool? logStatements,
    DatabaseSetup? databaseSetup,
    bool? cachePreparedStatements,
    FutureOr<void> Function()? isolateSetup}) {
  return SqliteBackgroundFileAdapter.build<VaultInfo, VaultEntry>(
          (QueryExecutor executor) => VaultDatabase(executor),
          _defaultVaultFile(file),
          logStatements: logStatements,
          setup: databaseSetup,
          cachePreparedStatements: cachePreparedStatements,
          isolateSetup: isolateSetup)
      .then((adapter) => SqliteVaultStore(adapter, codec: codec));
}