From f3e631b2eb477097c8fbfa188f81e6b80ee1dc58 Mon Sep 17 00:00:00 2001 From: Krille Date: Tue, 21 May 2024 13:07:36 +0200 Subject: [PATCH] fix: Hotfix create missing objectbox --- lib/src/database/indexeddb_box.dart | 5 ++++- lib/src/database/matrix_sdk_database.dart | 1 + lib/src/database/sqflite_box.dart | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/src/database/indexeddb_box.dart b/lib/src/database/indexeddb_box.dart index 6724b91d..0da0b288 100644 --- a/lib/src/database/indexeddb_box.dart +++ b/lib/src/database/indexeddb_box.dart @@ -19,12 +19,15 @@ class BoxCollection with ZoneTransactionMixin { Object? sqfliteDatabase, Object? sqfliteFactory, IdbFactory? idbFactory, + int version = 1, }) async { idbFactory ??= window.indexedDB!; - final db = await idbFactory.open(name, version: 1, + final db = await idbFactory.open(name, version: version, onUpgradeNeeded: (VersionChangeEvent event) { final db = event.target.result; for (final name in boxNames) { + if (db.objectStoreNames.contains(name)) continue; + db.createObjectStore(name, autoIncrement: true); } }); diff --git a/lib/src/database/matrix_sdk_database.dart b/lib/src/database/matrix_sdk_database.dart index fa645b97..2f128a1b 100644 --- a/lib/src/database/matrix_sdk_database.dart +++ b/lib/src/database/matrix_sdk_database.dart @@ -218,6 +218,7 @@ class MatrixSdkDatabase extends DatabaseApi with DatabaseFileStorage { sqfliteDatabase: database, sqfliteFactory: sqfliteFactory, idbFactory: idbFactory, + version: version, ); _clientBox = _collection.openBox( _clientBoxName, diff --git a/lib/src/database/sqflite_box.dart b/lib/src/database/sqflite_box.dart index ce66f4b3..62eba9f4 100644 --- a/lib/src/database/sqflite_box.dart +++ b/lib/src/database/sqflite_box.dart @@ -20,6 +20,7 @@ class BoxCollection with ZoneTransactionMixin { Object? sqfliteDatabase, DatabaseFactory? sqfliteFactory, dynamic idbFactory, + int version = 1, }) async { if (sqfliteDatabase is! Database) { throw ('You must provide a Database `sqfliteDatabase` for use on native.');