Feat: Ersetzt die Isar-Datenbank durch die drift-Datenbank

This commit is contained in:
2025-12-24 01:04:38 +01:00
parent 673d7de21c
commit c11515d447
23 changed files with 15995 additions and 2601 deletions

View File

@@ -0,0 +1,16 @@
import '../Entities/drift_database.dart';
class DatabaseService {
factory DatabaseService() => _instance;
DatabaseService._internal();
static final DatabaseService _instance = DatabaseService._internal();
AppDatabase? _database;
AppDatabase get database {
_database ??= AppDatabase();
return _database!;
}
}

View File

@@ -1,40 +0,0 @@
import 'dart:io';
import 'package:isar/isar.dart';
import 'package:path_provider/path_provider.dart';
import '../Entities/account.dart';
import '../Entities/recurring_transaction.dart';
import '../Entities/transaction.dart';
/// Ein Service um auf die Datenbank zuzugreifen
class IsarService {
/// Gibt eine gültige Instanz der Klasse zurück
factory IsarService() => _instance;
/// Initialisiert eine neue Instanz dieser Klasse
IsarService._internal();
static final _instance = IsarService._internal();
Isar? _isar;
/// Gibt die Datenbank zurück.
Future<Isar> getDatabase() async {
if (_isar == null) {
await _initializeDatabase();
}
return _isar!;
}
/// Initialisiert die Datenbank
Future<void> _initializeDatabase() async {
final Directory dir = await getApplicationDocumentsDirectory();
_isar = await Isar.open([
AccountSchema,
TransactionSchema,
RecurringTransactionSchema,
], directory: dir.path);
}
}