Docs: Schreib Docs
This commit is contained in:
@@ -5,55 +5,74 @@ import 'time_frame_enum.dart';
|
||||
|
||||
part 'drift_database.g.dart';
|
||||
|
||||
/// Eine Tabelle für Konten.
|
||||
class Accounts extends Table {
|
||||
/// Eindeutige ID des Kontos
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
|
||||
/// Name des Kontos
|
||||
TextColumn get name => text().withDefault(const Constant(''))();
|
||||
}
|
||||
|
||||
/// Eine Tabelle für einzelne Transaktionen.
|
||||
class Transactions extends Table {
|
||||
/// Eindeutige ID der Transaktion
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
|
||||
/// Name/Beschreibung der Transaktion
|
||||
TextColumn get name => text().withDefault(const Constant(''))();
|
||||
|
||||
/// Datum der Transaktion
|
||||
DateTimeColumn get date => dateTime().nullable()();
|
||||
|
||||
RealColumn get amount => real().withDefault(const Constant(0.0))();
|
||||
/// Betrag der Transaktion
|
||||
RealColumn get amount => real().withDefault(const Constant(0))();
|
||||
|
||||
/// Fremdschlüssel zum zugehörigen Konto
|
||||
IntColumn get accountId => integer().references(Accounts, #id)();
|
||||
|
||||
/// Fremdschlüssel zur zugehörigen wiederkehrenden Transaktion,
|
||||
/// falls vorhanden
|
||||
IntColumn get recurringTransactionId =>
|
||||
integer().nullable().references(RecurringTransactions, #id)();
|
||||
}
|
||||
|
||||
/// Eine Tabelle für wiederkehrende Transaktionen.
|
||||
class RecurringTransactions extends Table {
|
||||
/// Eindeutige ID der wiederkehrenden Transaktion
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
|
||||
/// Name/Beschreibung der wiederkehrenden Transaktion
|
||||
TextColumn get name => text().withDefault(const Constant(''))();
|
||||
|
||||
/// Startdatum der wiederkehrenden Transaktion
|
||||
DateTimeColumn get startDate => dateTime().nullable()();
|
||||
|
||||
/// Zeitlicher Rahmen für die Wiederholung
|
||||
IntColumn get timeFrame => intEnum<TimeFrameEnum>()();
|
||||
|
||||
RealColumn get amount => real().withDefault(const Constant(0.0))();
|
||||
/// Betrag der wiederkehrenden Transaktion
|
||||
RealColumn get amount => real().withDefault(const Constant(0))();
|
||||
|
||||
/// Fremdschlüssel zum zugehörigen Konto
|
||||
IntColumn get accountId => integer().references(Accounts, #id)();
|
||||
}
|
||||
|
||||
/// Hauptklasse für die Drift-Datenbank der Anwendung.
|
||||
@DriftDatabase(tables: [Accounts, Transactions, RecurringTransactions])
|
||||
class AppDatabase extends _$AppDatabase {
|
||||
/// Erstellt eine neue Datenbankinstanz
|
||||
AppDatabase() : super(_openConnection());
|
||||
|
||||
@override
|
||||
int get schemaVersion => 1;
|
||||
|
||||
static QueryExecutor _openConnection() {
|
||||
return driftDatabase(
|
||||
name: 'dragon_ledger',
|
||||
web: DriftWebOptions(
|
||||
sqlite3Wasm: Uri.parse('sqlite3.wasm'),
|
||||
driftWorker: Uri.parse('drift_worker.js'),
|
||||
),
|
||||
);
|
||||
}
|
||||
/// Öffnet die Datenbankverbindung
|
||||
static QueryExecutor _openConnection() => driftDatabase(
|
||||
name: 'dragon_ledger',
|
||||
web: DriftWebOptions(
|
||||
sqlite3Wasm: Uri.parse('sqlite3.wasm'),
|
||||
driftWorker: Uri.parse('drift_worker.js'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user