feat(server): implemente synchronisation et serveur avec fixtures (#187)
- Implémente la couche de synchronisation avec le serveur - Ajoute les fixtures versionnées pour les tests - Met à jour Drift database et repositories pour le support sync - Améliore les tests de synchronisation - Corrige et améliore le watch companion pour la collecte de métriques Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -9,6 +9,7 @@ part 'app_database.g.dart';
|
||||
tables: [
|
||||
ActiveExerciseStepProgressStates,
|
||||
ActiveExerciseStepResults,
|
||||
ActiveWorkoutTelemetryWindowStates,
|
||||
ActiveRestStates,
|
||||
ActiveManualScoreStates,
|
||||
ActiveScoreStopwatchStates,
|
||||
@ -51,7 +52,7 @@ final class AppDatabase extends _$AppDatabase {
|
||||
}
|
||||
|
||||
@override
|
||||
int get schemaVersion => 25;
|
||||
int get schemaVersion => 26;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration {
|
||||
@ -141,6 +142,9 @@ final class AppDatabase extends _$AppDatabase {
|
||||
if (from < 25) {
|
||||
await _migrateToSchema25();
|
||||
}
|
||||
if (from < 26) {
|
||||
await _migrateToSchema26(migrator);
|
||||
}
|
||||
await _createIndexes();
|
||||
},
|
||||
beforeOpen: (details) async {
|
||||
@ -269,6 +273,11 @@ final class AppDatabase extends _$AppDatabase {
|
||||
'CREATE INDEX IF NOT EXISTS idx_workout_telemetry_samples_session '
|
||||
'ON workout_telemetry_samples (session_id, captured_at)',
|
||||
);
|
||||
await customStatement(
|
||||
'CREATE INDEX IF NOT EXISTS '
|
||||
'idx_active_workout_telemetry_window_states_session '
|
||||
'ON active_workout_telemetry_window_states (session_id)',
|
||||
);
|
||||
await customStatement(
|
||||
'CREATE INDEX IF NOT EXISTS idx_workout_telemetry_aggregates_session '
|
||||
'ON workout_telemetry_aggregates (session_id, scope)',
|
||||
@ -472,6 +481,10 @@ extension on AppDatabase {
|
||||
await migrator.createTable(pendingShareActions);
|
||||
}
|
||||
|
||||
Future<void> _migrateToSchema26(Migrator migrator) async {
|
||||
await migrator.createTable(activeWorkoutTelemetryWindowStates);
|
||||
}
|
||||
|
||||
Future<void> _migrateToSchema13() async {
|
||||
await customStatement('PRAGMA foreign_keys = OFF');
|
||||
await customStatement('''
|
||||
|
||||
Reference in New Issue
Block a user