如何在Monotouch中管理我的SQLite数据库版本?

时间:2013-05-08 17:04:06

标签: c# sqlite xamarin.ios

如果我发布我的应用程序,并在2周内发布新的更新,我需要更改数据库,该解决方案是什么?例如在Android中我有一个SQlite库覆盖检查数据库版本的Void。谢谢。

1 个答案:

答案 0 :(得分:6)

有很多方法可以做到这一点,但这是我在类似情况下使用过的系统。

将架构(和非事务性数据)保留为基线,并将版本号保留在数据库中。然后,每当更新程序时,请更改架构并将更改SQL保存在自己的文件中。命名文件,以便顺序编号文件,例如(000001AddTableX.sql000002RemoveColumnX.sql等)。然后编写一大块代码来检查保存所有变更集的文件夹。然后,如果文件名中的变更集编号大于DB中存储的当前版本,请对数据库运行变更集。

这有以下好处

  • 如果您正在使用源代码管理,那么当您签入代码时,您的架构更改集将被保存并与代码中的(可能)相关更改相关联。
  • 您的更改集代码将经过充分测试,因为它将是您在开发过程中使用的完全代码。
  • 无论最终用户跳过多少次更新,他们都会在最终升级时以正确的顺序获得所有更改集。