我正在开发一个 OpenCart 项目。(注:这是我第一次处理它。)
我想以某种方式实现我通常的工作流程:
- 在本地主机上工作,实验等,
- 将更改部署到生产服务器(有时部署到之前的登台服务器),
- 添加数据库更改。
现在,我应该如何实现这一目标?
我对 GIT 所做的是创建了一个自动化部署流程,其中包括以下内容:
- 构建部署版本(检查 master/HEAD 的 upload/ 目录,并删除 upload/install 目录。),
- 将上传/目录的内容复制到目标服务器。
这工作正常,但不会解决数据库迁移问题。我认为它甚至不像从我的本地数据库更新目标服务器数据库中的某些表那么简单,因为例如:“设置”表包含特定于环境的数据。所以我不能只用我的本地版本覆盖设置表。
在我看来,最简单且最丑陋的解决方案是在 prod 服务器上与 localhost 更改并行开发。例如:如果我安装了一个模块,这会导致数据库发生变化,那么我需要复制我在本地环境中安装和放置该模块的每一步。我采取的每个管理员设置也是如此。(元变化等)
这对我来说听起来非常痛苦,所以我希望有一个更好的解决方案,而不是对每个与数据库相关的更改进行两次......
提前致谢!