如何检查和删除flf中所有现有的sqflite数据库?

时间:2019-12-01 10:58:49

标签: flutter dart sqflite

由于我是新手,所以一旦遇到问题,就创建了新的数据库,但是现在我需要删除其他未使用的数据库。我该如何检查现有的数据库并将其删除,除非当前正在使用?

//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;
  }

谢谢。

1 个答案:

答案 0 :(得分:0)

列出现有数据库没有捷径可走,但是您可以在创建它们的目录中列出文件(sqflite数据库是一个文件)(我建议使用getDatabasesPath而不是getApplicationDocumentsDirectory)。

然后您可以检查数据库是否存在(databaseExists)并在数据库未打开的情况下(deleteDatabase)删除它(在这种情况下,您必须先关闭它)

相关问题