init method

Future<void> init({
  1. String? directory,
  2. bool debug = false,
})

initialize the isar db

Implementation

Future<void> init({String? directory, bool debug = false}) async {
  // await Isar.initialize("./libisar_android_armv7.so");//initializeIsarCore(download: true);

  // final dir = await getApplicationDocumentsDirectory();
  // final dir = Directory.systemTemp.createTempSync()
  if (directory == Isar.sqliteInMemory) {
    await Isar.initialize();
  }
  isar = Isar.open(
    name: "db_ndk_${debug ? "debug" : "release"}",
    inspector: debug,
    maxSizeMiB: 1024,
    compactOnLaunch: directory != Isar.sqliteInMemory
        ? const CompactCondition(
            minRatio: 2.0,
            minBytes: 100 * 1024 * 1024,
            minFileSize: 256 * 1024 * 1024)
        : null,
    directory: directory ?? Directory.systemTemp.path,
    engine: directory == Isar.sqliteInMemory
        ? IsarEngine.sqlite
        : IsarEngine.isar,
    schemas: [
      DbEventSchema,
      DbUserRelayListSchema,
      DbRelaySetSchema,
      DbContactListSchema,
      DbMetadataSchema,
      DbNip05Schema
    ],
  );
  // isar.write((isar) {
  //   isar.clear();
  // });
}