【发布时间】:2020-12-21 11:04:29
【问题描述】:
我在我的应用程序中使用 sqflite 数据库。数据库中填满了用户的条目。当我交付新的应用版本时,数据库必须保持不变。
当我将应用程序的新版本作为 apk 部署到我的真实手机时,数据库将被删除。有没有办法在更新期间保护数据库?
我想知道这是否是我部署新应用程序版本的方法?我使用“颤振安装”。也许卸载方法会从应用程序中删除所有内容,包括数据库并创建一个新的应用程序目录!?
【问题讨论】:
-
安装新版本时是否卸载旧版本?
-
不(我不知道)。我假设当我交付一个新的应用版本时数据库不会被触及。
-
您是否将版本传递给 openDatabase 方法?您应该在每次创建新表或更新现有表时传递版本号并更新它。 github.com/tekartik/sqflite/blob/master/sqflite/doc/…
-
我没有对数据库进行任何更改。它是更新的应用程序。打开时检查是否存在现有数据库并打开它。但显然数据库在更新过程中通过“flutter install”删除了
-
我发现我可以通过系统备份来保存数据库。我强制进行系统备份。之后在更新过程中恢复了数据库。