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

Flutter 如何检查和删除颤振中sqflite的所有现有数据库?,flutter,dart,sqflite,Flutter,Dart,Sqflite,由于我是一名新的颤振者,每当我遇到问题时,我都会创建新的DB,但现在我需要删除其他未使用的DB。如何检查现有数据库并删除它们(当前使用的数据库除外) //final demoDb = 'demoDb1.db'; //final demoDb = 'demoDb2.db'; //final demoDb = 'demoDb3.db'; //final demoDb = 'demoDb4.db'; final demoDb = 'demoDb5.db'; //Currently using this

由于我是一名新的颤振者,每当我遇到问题时,我都会创建新的DB,但现在我需要删除其他未使用的DB。如何检查现有数据库并删除它们(当前使用的数据库除外)

//final demoDb = 'demoDb1.db';
//final demoDb = 'demoDb2.db';
//final demoDb = 'demoDb3.db';
//final demoDb = 'demoDb4.db';
final demoDb = 'demoDb5.db'; //Currently using this one

提前感谢。

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


然后,您可以检查数据库是否存在()并将其删除(),假设它未打开(在本例中,您必须先关闭它)

为什么每次出现问题时都要重新创建新的数据库?你就不能在新的表格/新的记录中使用同一张吗?@dubace因为我是个新手,所以在不知不觉中就这么做了。但是现在我需要删除这些。所以,如果我不知道我创建的数据库的名称,我不能看到所有现有的数据库吗?如果你知道创建它们的文件夹,你可以简单地列出文件夹的内容(这里不涉及sqflite)。我尝试了许多方法,但无法实现你上面提到的目标。
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;
  }