2023-03-22 20:36:44 -05:00
|
|
|
import 'dart:async';
|
|
|
|
|
2024-04-30 21:36:40 -05:00
|
|
|
import 'package:immich_mobile/entities/store.entity.dart';
|
2023-03-26 21:35:52 -05:00
|
|
|
import 'package:immich_mobile/utils/db.dart';
|
2023-03-18 09:55:11 -05:00
|
|
|
import 'package:isar/isar.dart';
|
2023-02-09 12:32:08 -05:00
|
|
|
|
2024-05-14 10:35:37 -05:00
|
|
|
const int targetVersion = 6;
|
|
|
|
|
2023-03-26 21:35:52 -05:00
|
|
|
Future<void> migrateDatabaseIfNeeded(Isar db) async {
|
|
|
|
final int version = Store.get(StoreKey.version, 1);
|
2024-05-14 10:35:37 -05:00
|
|
|
if (version < targetVersion) {
|
|
|
|
_migrateTo(db, targetVersion);
|
2023-03-26 21:35:52 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-06-10 13:13:59 -05:00
|
|
|
Future<void> _migrateTo(Isar db, int version) async {
|
2023-03-26 21:35:52 -05:00
|
|
|
await clearAssetsAndAlbums(db);
|
2023-06-10 13:13:59 -05:00
|
|
|
await Store.put(StoreKey.version, version);
|
2023-03-26 21:35:52 -05:00
|
|
|
}
|