models/createEmptyDb: init

This commit is contained in:
2025-06-23 21:11:42 +02:00
parent e0a35bdef9
commit 78f546fa28
3 changed files with 61 additions and 1 deletions
+27
View File
@@ -0,0 +1,27 @@
import 'dart:io';
import 'dart:isolate';
import 'package:path/path.dart';
import 'package:sqflite_common/sqlite_api.dart';
String migrationDirPath() {
final packageUri = Uri.parse('package:jadb/');
final packagePath = Isolate.resolvePackageUriSync(packageUri);
return packagePath!.resolve('../migrations').toFilePath();
}
Future<void> createEmptyDb(DatabaseExecutor db) async {
List<String> migrationFiles = [];
for (final file in Directory(migrationDirPath()).listSync()) {
if (file is File && file.path.endsWith('.sql')) {
migrationFiles.add(file.path);
}
}
migrationFiles.sort((a, b) => basename(a).compareTo(basename(b)));
for (final file in migrationFiles) {
final sql = await File(file).readAsString();
await db.execute(sql);
}
}