d4t_formulas/lib/database/formulas_database_native.dart
Álvaro González d9dd3cd7aa Drift working in web and linux.
TODO: migrate web drift from "web" to "wasm"
2026-02-14 14:06:23 +01:00

28 lines
918 B
Dart

import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
import 'dart:io';
LazyDatabase openConnection() {
return LazyDatabase(() async {
// Determine the platform-specific database directory
Directory dbDirectory;
if (Platform.isLinux || Platform.isWindows || Platform.isMacOS) {
final appSupportDir = await getApplicationSupportDirectory();
dbDirectory = Directory(p.join(appSupportDir.path, 'd4rt_formulas'));
} else {
dbDirectory = await getApplicationDocumentsDirectory();
}
// Ensure the directory exists
await dbDirectory.create(recursive: true);
// Create the database file in the platform-specific directory
final file = File(p.join(dbDirectory.path, 'formulas.sqlite'));
return NativeDatabase.createInBackground(file);
});
}