如果我发布我的应用程序,并在2周内发布新的更新,并且我需要更改数据库,那么解决方案是什么?例如,在Android中,我将SQlite库重写Void以检查数据库版本。谢谢。如何在Monotouch中管理我的SQLite数据库版本?
-1
A
回答
5
有很多方法可以做到这一点,但这里有一个我在类似情况下使用的系统。
保留架构(和非事务数据)作为基准,并将版本号保留在数据库中。然后,无论何时更新程序,更改模式并将更改SQL保存在其自己的文件中。为这些文件命名,以便顺序编排这些文件,例如(000001AddTableX.sql
,000002RemoveColumnX.sql
等)。然后编写一段代码来检查保存所有变更集的文件夹。然后,如果文件名中的变更集编号大于存储在数据库中的当前版本,请针对数据库运行变更集。
这有以下好处
- 如果你使用源代码控制,您的架构的变更将被保存,当你在你的代码检查与代码中的(大概)相关的变化有关。
- 您的更改集代码将经过充分测试,因为它将是您在开发过程中使用的确切代码。
- 无论最终用户跳过多少次更新,他们都会在最终升级时以正确的顺序获取所有变更集。
+0
这是一个非常聪明的方式。 – Bobson 2013-05-09 17:51:08
相关问题
- 1. 管理SQLite数据库子集版本
- 2. 在Android Studio中管理SQLite数据库
- 3. Monotouch和sqlite数据库
- 4. 根据代码版本测试和管理数据库版本
- 5. 版本库像SQLite数据库库?
- 6. 管理Android SQLite数据库的工具
- 7. Node.js //管理sqlite数据库的模块
- 8. 如何管理桌面文件数据库版本?
- 9. 在源代码管理中管理我的数据库
- 10. 如何在Git中管理版本号?
- 11. 更改SQLite数据库版本号
- 12. SQLite数据库,onUpgrade版本1发布
- 13. 更新sqlite数据库版本?
- 14. subversion版本库管理
- 15. 如何管理数据库中的ImportHistory?
- 16. 未安装在Android设备管理器中的SQLite数据库
- 17. 如何知道数据库文件的sqlIte版本和密码?
- 18. 如何管理VS2010中的版本?
- 19. Monotouch:如何从sqlite数据库获取本地化的字符串
- 20. 我如何检索来自sqlite数据库的文本数据在objective-c中?
- 21. Monotouch - 在Monotouch项目中附加Sqlite数据库并部署到iPad
- 22. SQLite Android。管理数据
- 23. 在Django模型,sqlite和mongoengine中管理数据库
- 24. 配置管理中的版本管理
- 25. 从数据库更改openfire版本4.0.2的管理员密码
- 26. 你如何管理你的sqlserver数据库项目的新版本和迁移?
- 27. 推荐的方法来管理我的c + +库中的版本
- 28. 如何选择我的SQLite数据库
- 29. 动物园管理员,数据版本
- 30. 如何使用大量库管理CVS中的软件版本
为什么你的Android解决方案不适用于iOS? – Bobson 2013-05-08 17:34:09
@Bosbon,我提到的解决方案不是针对android的单声道,是与Java的普通安卓,我猜Sqlite库是不同的,例如我在monotouch中使用的那个有一个ORM实现,吨。所以这就是我问的原因。 – 2013-05-08 18:06:58
你的问题真的很广泛 - 你能对你面临的问题更具体吗?在MonoTouch中没有针对数据库版本控制的特殊通用解决方案。 – Jason 2013-05-08 18:18:12