适当的应用程序版本更新,包括数据库和代码更新

时间:2015-03-19 02:37:51

标签: yii version-control versioning rpm

我收到了一份用YII编写的应用程序,有时需要更新版本。目前,当我们发布新的更新时,我们手动运行一个shell脚本来复制/覆盖我们的git仓库中的应用程序代码/源文件并设置相应的权限和其他东西,然后在脚本的末尾,我们运行一个YII命令运行我们的数据库更新。我们对数据库更新进行了版本控制。如果版本的某个sql语句失败,我们还会将更改回滚到数据库。现在问题是,如果数据库更新失败,并且应用程序代码/源已更新,那么当它尝试访问某些表字段,表或视图时,它将失败。

如何通过版本控制最好地处理应用程序更新?就像wordpress处理更新或更好的方式一样。

想要获得有关rigth方法的建议,它可能包括RPM,GIT或其他信息。 从你们那里得到详细的流程清单会很好。 感谢。

1 个答案:

答案 0 :(得分:0)

数据库更新可能包括备份,运行多个脚本,以及 应该在rpm包装之外处理。故障模式太多了 使RPM脚本能够完美地处理。

您始终可以在程序包中打包数据库架构更新脚本 然后在应用程序启动时检查正确的架构版本, 提供有关如何升级的指令(或指令指针) 数据库,以及如何重新安装最后已知的好应用程序,当错误 检测到架构版本。