mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:39:37 -05:00 
			
		
		
		
	* 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);
 | 
						|
}
 |