-1

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

4

1 回答 1

6

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

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

这有以下好处

  • 如果您使用源代码控制,则当您签入代码时,您的架构变更集将被保存并与代码中的(可能)相关更改相关联。
  • 您的变更集代码将经过充分测试,因为它将是您在开发期间使用的确切代码。
  • 无论最终用户跳过了多少更新,当他们最终升级时,他们都会以正确的顺序获得所有变更集。
于 2013-05-08T21:14:45.343 回答