【发布时间】:2011-03-05 20:01:48
【问题描述】:
从 Ruby on Rails 中,我了解到了一种舒适且非常易于管理的方式来处理 database migrations。
如何在 Qt4 中处理这种情况?它不需要像 Rails 的解决方案那样详细说明。我可以运行 SQL 并编写代码 sn-ps 来提高或降低数据的版本列表。
我用谷歌搜索了一下,但似乎没有标准解决方案。以前似乎没有人挠过头。看起来每个人都实现了自己的想法。
是否有人对标准解决方案感兴趣或正在研究并愿意分享努力?或者甚至有一个可行的实现?我正在考虑在 Rails 中使用类似于information_schema 表的想法,并让应用程序运行向导来升级或降级数据库(并且可能首先提供备份/转储),或者作为另一种选择无需向导即可运行迁移,也许只是一个方便的进度条。
【问题讨论】:
-
你想坚持Qt的原因是什么?我能想象的唯一原因是将模式迁移和/或初始数据库引导嵌入到基于 Qt 的应用程序中作为奖励功能。否则,我认为没有理由需要基于 Qt 的解决方案。
-
@Ihor 那么建议的替代方案是什么?
-
这取决于您到底需要什么:架构迁移、数据迁移或两者兼而有之?您可以查看stackoverflow.com/questions/2051340/… 和stackoverflow.com/questions/2454815/database-migration 中建议的工具。虽然如果你真的想要一个解决方案,你可以用一个漂亮的 GUI 嵌入到你现有的 Qt 应用程序中,但我对贡献/创建一个开源项目很感兴趣。
-
@Ihor 我正在考虑 Ruby on Rails 是如何做到的,只是包装在 Qt 中。在应用程序启动时,应用程序应检测待处理的迁移并显示进度条并执行架构和数据迁移。如果你想和我一起开始一个开源项目:酷。 :-)
标签: database qt4 database-schema database-migration schema-migration