由于我是新手,所以一旦遇到问题,就创建了新的数据库,但是现在我需要删除其他未使用的数据库。我该如何检查现有的数据库并将其删除,除非当前正在使用?
//final demoDb = 'demoDb1.db';
//final demoDb = 'demoDb2.db';
//final demoDb = 'demoDb3.db';
//final demoDb = 'demoDb4.db';
final demoDb = 'demoDb5.db'; //Currently using this one
createDatabase() async {
Directory documentsDirectory = await getApplicationDocumentsDirectory();
String path = join(documentsDirectory.path, demoDb);
var database = await openDatabase(path,
version: 1, onCreate: initDB, onUpgrade: onUpgrade);
return database;
}
谢谢。
答案 0 :(得分:0)
列出现有数据库没有捷径可走,但是您可以在创建它们的目录中列出文件(sqflite数据库是一个文件)(我建议使用getDatabasesPath而不是getApplicationDocumentsDirectory)。
然后您可以检查数据库是否存在(databaseExists)并在数据库未打开的情况下(deleteDatabase)删除它(在这种情况下,您必须先关闭它)