mirror of
https://github.com/kuhyx/testsAndMisc-archive.git
synced 2026-07-04 13:03:15 +02:00
40 lines
1.2 KiB
Dart
40 lines
1.2 KiB
Dart
import 'package:drift/drift.dart';
|
|
import 'package:horatio_app/database/daos/annotation_dao.dart';
|
|
import 'package:horatio_app/database/daos/recording_dao.dart';
|
|
import 'package:horatio_app/database/tables/annotation_snapshots_table.dart';
|
|
import 'package:horatio_app/database/tables/line_notes_table.dart';
|
|
import 'package:horatio_app/database/tables/line_recordings_table.dart';
|
|
import 'package:horatio_app/database/tables/text_marks_table.dart';
|
|
|
|
part 'app_database.g.dart';
|
|
|
|
/// Central drift database for Horatio.
|
|
///
|
|
/// Schema version 2: adds line_recordings table for voice recordings.
|
|
@DriftDatabase(
|
|
tables: [
|
|
TextMarksTable,
|
|
LineNotesTable,
|
|
AnnotationSnapshotsTable,
|
|
LineRecordingsTable,
|
|
],
|
|
daos: [AnnotationDao, RecordingDao],
|
|
)
|
|
class AppDatabase extends _$AppDatabase {
|
|
/// Creates an [AppDatabase] with the given [QueryExecutor].
|
|
AppDatabase(super.e);
|
|
|
|
@override
|
|
int get schemaVersion => 2;
|
|
|
|
@override
|
|
MigrationStrategy get migration => MigrationStrategy(
|
|
onCreate: (m) => m.createAll(),
|
|
onUpgrade: (m, from, to) async {
|
|
if (from < 2) {
|
|
await m.createTable(lineRecordingsTable);
|
|
}
|
|
},
|
|
);
|
|
}
|