我有一个使用 SQLite 数据库和 Active Android 的 Android 应用程序作为 ORM。在每次应用程序更新时,我都需要用新的/更新的数据发送我的数据库。这就是我一直在做的
- 我有一个my_app.db数据库
- 我对 my_app.db 的行、表等进行了修改
- 我将修改后的 my_app.db 保存为 my_app_v2.db(依此类推)
- 我用 my_app_v2.db 替换了 assets 文件夹的 my_app.db 文件并将其设置为默认数据库
- 我使用新创建的 my_app_v2.db 编译并运行程序
因此,当用户获取该应用时,它将使用包含新内容的 my_app_v2.db。
我知道 Active Android supports migration scripts ,但在每次数据库更新时,我需要添加/更新大约 2000 多条记录。因此,对于每次数据库更新,我都需要一个包含 2000 多条插入/更新语句的迁移脚本,这意味着对于 3 次以上的连续升级,应用程序必须执行大约 6000 多条语句。
我想知道我用新数据库替换整个数据库的方法是否是一种不好的做法,应该首选迁移脚本。
最佳答案
你不需要那样做(重命名东西或任何东西)
您只需要更改您的数据库版本并编写一个 sql 命令来更改您以前的表以从版本 A 迁移到版本 B。
查看此链接:
关于安卓 SQLite : Replace old database with a new one or use migration scripts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39966540/