Line data Source code
1 : import 'package:drift/drift.dart';
2 : import 'package:drift_flutter/drift_flutter.dart';
3 : import 'package:the_logger/src/db/database_path.dart';
4 : import 'package:the_logger/src/db/logger_tables.dart';
5 :
6 : part 'logger_database.g.dart';
7 :
8 : /// Drift database for the logger package.
9 : @DriftDatabase(tables: [Sessions, Records])
10 : class LoggerDatabase extends _$LoggerDatabase {
11 : /// Creates the logger database.
12 2 : LoggerDatabase([QueryExecutor? executor])
13 2 : : super(executor ?? _openConnection());
14 :
15 2 : @override
16 : int get schemaVersion => 1;
17 :
18 0 : static QueryExecutor _openConnection() {
19 0 : return driftDatabase(
20 : name: 'logs.db',
21 0 : native: nativeDatabaseOptions('logs.db'),
22 0 : web: DriftWebOptions(
23 0 : sqlite3Wasm: Uri.parse('sqlite3.wasm'),
24 0 : driftWorker: Uri.parse('drift_worker.js'),
25 : ),
26 : );
27 : }
28 : }
|