我如何管理我的SQLite数据库版本在Monotouch
本文关键字:数据库 SQLite 版本 Monotouch 我的 何管理 管理 | 更新日期: 2023-09-27 18:12:36
如果我发布我的应用程序,并在2周内发布一个新的更新,我需要改变数据库,解决方案是什么?例如,在Android中,我有一个SQlite库重写Void检查数据库版本。谢谢。
有很多方法可以做到这一点,但这里是我在类似情况下使用的一个系统。
将模式(和非事务性数据)作为基线,并将版本号保存在数据库中。然后,无论何时更新程序,都要更改模式并将更改SQL保存在自己的文件中。为文件命名,以便按顺序编号,例如(000001AddTableX.sql
, 000002RemoveColumnX.sql
等)。然后编写一段代码,检查保存所有更改集的文件夹。然后,如果文件名中的变更集编号大于数据库中存储的当前版本,则对数据库运行该变更集。
这有以下好处
- 如果您使用源代码控制,您的模式更改集将被保存,并在您签入代码时与代码中(大概)相关的更改相关联。
- 您的变更集代码将经过良好的测试,因为它将是您在开发过程中使用的精确的代码。
- 无论最终用户跳过了多少次更新,当他们最终进行升级时,他们都会以正确的顺序获得所有更改集。