flutter删除数据库而不卸载应用程序



我们正在测试我们的应用程序,并且只有一个sqlite版本。因为我们不想在上线之前升级数据库。在测试过程中,无论谷歌是否接受,我们都会发布一些稳定的版本。谷歌接受了,现在我们意识到下载了1000多个应用程序。

但是我们的测试还没有完成,我们要求用户手动卸载。现在我们不知道他们是从哪个版本开始下载的。

因此,如果不卸载应用程序,他们的数据库不是最新的,并且会发生错误。

因此,在即将发布的版本中,我们希望强制删除他们的数据库,并创建最新的数据库方案。对于后续版本,如果需要更改,我们将使用onUpdate创建新版本的数据库。

有更好的方法吗?

我认为这段代码将帮助您

void _createTableCompanyV2(Batch batch) {
batch.execute('DROP TABLE IF EXISTS Company');
batch.execute('''CREATE TABLE Company (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
description TEXT
)''');
}

参考链路

最新更新