feat: add toggle to switch between Isar and Sqlite (#19953)

This commit is contained in:
shenlong 2025-07-17 21:42:29 +05:30 committed by GitHub
parent b256c51b6b
commit 531515daf9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 11016 additions and 160 deletions

View file

@ -24,7 +24,25 @@ class AuthRepository extends DatabaseRepository {
const AuthRepository(super.db, this._drift);
Future<void> clearLocalData() {
Future<void> clearLocalData() async {
// Drift deletions - child entities first (those with foreign keys)
await Future.wait([
_drift.memoryAssetEntity.deleteAll(),
_drift.remoteAlbumAssetEntity.deleteAll(),
_drift.remoteAlbumUserEntity.deleteAll(),
_drift.remoteExifEntity.deleteAll(),
_drift.userMetadataEntity.deleteAll(),
_drift.partnerEntity.deleteAll(),
_drift.stackEntity.deleteAll(),
]);
// Drift deletions - parent entities
await Future.wait([
_drift.memoryEntity.deleteAll(),
_drift.remoteAlbumEntity.deleteAll(),
_drift.remoteAssetEntity.deleteAll(),
_drift.userEntity.deleteAll(),
]);
return db.writeTxn(() {
return Future.wait([
db.assets.clear(),
@ -32,17 +50,6 @@ class AuthRepository extends DatabaseRepository {
db.albums.clear(),
db.eTags.clear(),
db.users.clear(),
_drift.remoteAssetEntity.deleteAll(),
_drift.remoteExifEntity.deleteAll(),
_drift.userEntity.deleteAll(),
_drift.userMetadataEntity.deleteAll(),
_drift.partnerEntity.deleteAll(),
_drift.remoteAlbumEntity.deleteAll(),
_drift.remoteAlbumAssetEntity.deleteAll(),
_drift.remoteAlbumUserEntity.deleteAll(),
_drift.memoryEntity.deleteAll(),
_drift.memoryAssetEntity.deleteAll(),
_drift.stackEntity.deleteAll(),
]);
});
}