feat(exercice): valeurs par défaut d'exercice (tickets #39/#40, parent #30)
Étend le modèle Drift (tables.dart, app_database.dart/.g.dart), les entités/use cases/repositories et les écrans bibliothèque d'exercices et programme pour supporter des valeurs par défaut par exercice (répétitions/temps/poids proposés à la création d'une série). flutter analyze propre, 51/51 tests verts, build APK debug validé. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -36,7 +36,7 @@ final class AppDatabase extends _$AppDatabase {
|
||||
}
|
||||
|
||||
@override
|
||||
int get schemaVersion => 3;
|
||||
int get schemaVersion => 4;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration {
|
||||
@ -60,6 +60,9 @@ final class AppDatabase extends _$AppDatabase {
|
||||
if (from < 3) {
|
||||
await _migrateToSchema3(migrator);
|
||||
}
|
||||
if (from < 4) {
|
||||
await _migrateToSchema4();
|
||||
}
|
||||
await _createIndexes();
|
||||
},
|
||||
beforeOpen: (details) async {
|
||||
@ -202,4 +205,25 @@ extension on AppDatabase {
|
||||
);
|
||||
await migrator.createTable(activeScoreStopwatchStates);
|
||||
}
|
||||
|
||||
Future<void> _migrateToSchema4() async {
|
||||
await customStatement(
|
||||
'ALTER TABLE exercises ADD COLUMN default_target_time_seconds INTEGER '
|
||||
'CHECK (default_target_time_seconds IS NULL OR '
|
||||
'default_target_time_seconds > 0)',
|
||||
);
|
||||
await customStatement(
|
||||
'ALTER TABLE exercises ADD COLUMN default_target_reps INTEGER '
|
||||
'CHECK (default_target_reps IS NULL OR default_target_reps > 0)',
|
||||
);
|
||||
await customStatement(
|
||||
'ALTER TABLE exercises ADD COLUMN default_target_score REAL '
|
||||
'CHECK (default_target_score IS NULL OR default_target_score > 0)',
|
||||
);
|
||||
await customStatement(
|
||||
'ALTER TABLE exercises ADD COLUMN default_target_score_time_ms INTEGER '
|
||||
'CHECK (default_target_score_time_ms IS NULL OR '
|
||||
'default_target_score_time_ms > 0)',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user