Files
phylum/client/lib/libphylum/db/native.dart
T
2024-09-18 18:19:52 +05:30

31 lines
713 B
Dart

import 'dart:io';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:path/path.dart' as p;
import 'package:sqlite3/sqlite3.dart';
QueryExecutor openDatabase({
required Directory? storageDir,
required Directory? tmpDir,
required String id,
}) {
return LazyDatabase(() async {
final file = _dbFile(storageDir, id);
sqlite3.tempDirectory = tmpDir!.path;
return NativeDatabase.createInBackground(file);
});
}
Future<void> deleteDatabase({
required Directory? storageDir,
required String id,
}) {
return _dbFile(storageDir, id).delete();
}
File _dbFile(Directory? storageDir, String id) {
return File(p.join(storageDir!.path, '$id-phylum.db'));
}