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