feat(mobile): asset face sync (#20022)

* feat(mobile): asset face sync

* fix: lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Daimolean
2025-07-23 01:17:52 +08:00
committed by GitHub
parent ab61bcfcc8
commit ac44f6d1e0
22 changed files with 7270 additions and 81 deletions

View File

@@ -5,6 +5,7 @@ import 'package:drift_flutter/drift_flutter.dart';
import 'package:flutter/foundation.dart';
import 'package:immich_mobile/domain/interfaces/db.interface.dart';
import 'package:immich_mobile/infrastructure/entities/exif.entity.dart';
import 'package:immich_mobile/infrastructure/entities/asset_face.entity.dart';
import 'package:immich_mobile/infrastructure/entities/local_album.entity.dart';
import 'package:immich_mobile/infrastructure/entities/local_album_asset.entity.dart';
import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart';
@@ -56,6 +57,7 @@ class IsarDatabaseRepository implements IDatabaseRepository {
MemoryAssetEntity,
StackEntity,
PersonEntity,
AssetFaceEntity,
],
include: {
'package:immich_mobile/infrastructure/entities/merged_asset.drift',
@@ -72,7 +74,7 @@ class Drift extends $Drift implements IDatabaseRepository {
);
@override
int get schemaVersion => 3;
int get schemaVersion => 4;
@override
MigrationStrategy get migration => MigrationStrategy(
@@ -94,6 +96,10 @@ class Drift extends $Drift implements IDatabaseRepository {
// Removed foreign key constraint on stack.primaryAssetId
await m.alterTable(TableMigration(v3.stackEntity));
},
from3To4: (m, v4) async {
await m.alterTable(TableMigration(v4.personEntity));
await m.create(v4.assetFaceEntity);
},
),
);