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 createEmptyDb(DatabaseExecutor db) async { final List 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); } }