Skip to content

Commit eb8fa43

Browse files
committed
refactor(DemoDataMigrationService): migrate and delete engagements in batch
- Remove individual engagement deletion within the loop - Add batch deletion of old engagements after successful migration - Improve efficiency by reducing the number of delete operations
1 parent c10bcfe commit eb8fa43

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/app/services/demo_data_migration_service.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,16 @@ class DemoDataMigrationService {
167167
item: newEngagement,
168168
userId: newUserId,
169169
);
170-
await _engagementRepository.delete(
171-
id: oldEngagement.id,
172-
userId: oldUserId,
173-
);
174170
} on ConflictException {
175171
/* ignore, already exists */
176172
}
177173
}
174+
// Delete all old engagements at once after migration.
175+
await Future.wait(
176+
oldEngagements.items.map(
177+
(e) => _engagementRepository.delete(id: e.id, userId: oldUserId),
178+
),
179+
);
178180
_logger.fine(
179181
'[DemoDataMigrationService] ${oldEngagements.items.length} '
180182
'engagements migrated successfully from $oldUserId to $newUserId.',

0 commit comments

Comments
 (0)