我使用 git 进行版本控制。我有一个开发、登台和生产环境。当我完成开发时,我会推动分期以供客户审查。获得批准后,我会将更改从暂存阶段推送到生产阶段。只要没有数据库更改,它就可以正常工作。如果我在本地开发中通过 Magento connect 安装模块并进行数据库修改,会发生什么情况。
由于生产服务器一直在变化,我如何将这些更改推送到生产服务器?
编辑:
我写了两个shell脚本。一种将生产数据库下拉到我的开发服务器,用开发 url 替换基本 url 并相应地更新我的开发数据库。它还留下了生产 sql 转储以添加到我的 git 存储库中。我不确定将原始转储保留在源代码控制中是否有益,但我会尝试一下。第二个脚本将开发数据库移至暂存状态,并基本上执行与第一个脚本相同的操作。
现在,当需要转移到生产环境时,我将更新的生产 repo 拉入生产服务器并允许 magento 执行此操作。我最近也开始使用 SQLYog,它有一个数据库比较向导,可以让我了解我的开发和生产数据库的差异,并允许我有选择地合并更改。它总是会创建一个迁移脚本,我也将它添加到源代码管理中。如果出现任何问题,我可以运行比较以查看是否遗漏了任何内容。
对你们来说,这听起来像是一个不错的工作流程吗?