migration.dart 560 B

12345678910111213141516171819202122
  1. import 'dart:async';
  2. import 'package:immich_mobile/shared/models/store.dart';
  3. import 'package:immich_mobile/utils/db.dart';
  4. import 'package:isar/isar.dart';
  5. Future<void> migrateDatabaseIfNeeded(Isar db) async {
  6. final int version = Store.get(StoreKey.version, 1);
  7. switch (version) {
  8. case 1:
  9. await _migrateTo(db, 2);
  10. case 2:
  11. await _migrateTo(db, 3);
  12. case 3:
  13. await _migrateTo(db, 4);
  14. }
  15. }
  16. Future<void> _migrateTo(Isar db, int version) async {
  17. await clearAssetsAndAlbums(db);
  18. await Store.put(StoreKey.version, version);
  19. }