mirror of
https://github.com/immich-app/immich.git
synced 2024-11-15 18:08:48 -07:00
73075c64d1
* compare different sha1 implementations * remove openssl sha1 * sync via checksum * hash assets in batches * hash in background, show spinner in tab * undo tmp changes * migrate by clearing assets * ignore duplicate assets * error handling * trigger sync/merge after download and update view * review feedback improvements * hash in background isolate on iOS * rework linking assets with existing from DB * fine-grained errors on unique index violation * hash lenth validation * revert compute in background on iOS * ignore duplicate assets on device * fix bug with batching based on accumulated size --------- Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
21 lines
517 B
Dart
21 lines
517 B
Dart
import 'dart:async';
|
|
|
|
import 'package:immich_mobile/shared/models/store.dart';
|
|
import 'package:immich_mobile/utils/db.dart';
|
|
import 'package:isar/isar.dart';
|
|
|
|
Future<void> migrateDatabaseIfNeeded(Isar db) async {
|
|
final int version = Store.get(StoreKey.version, 1);
|
|
switch (version) {
|
|
case 1:
|
|
await _migrateTo(db, 2);
|
|
case 2:
|
|
await _migrateTo(db, 3);
|
|
}
|
|
}
|
|
|
|
Future<void> _migrateTo(Isar db, int version) async {
|
|
await clearAssetsAndAlbums(db);
|
|
await Store.put(StoreKey.version, version);
|
|
}
|