所以我有一个舞台和现场Magento网站。我想做一些事情,如主题化、安装扩展、Magento升级等等,然后将其推送到实时服务器上。
问题是,当我工作的变化,有现场订单进入现场。因此,我不能简单地将文件和数据库复制到活动服务器。我会错过订单和客户,我所有的订单号码都会被搞砸。
那么,使两个数据库保持同步的正确方法是什么?类似Magento升级或扩展安装之类的东西将对数据库进行更改,所以我不能只对这两个数据库都使用活动数据库。
我看到有人提到使用GIT / GitHub,不确定它是如何工作的,但您是否只需要将新的数据库更改与已更改的文件一起推送到活动服务器?
谢谢
发布于 2015-11-14 12:54:54
当涉及到诸如客户、订单等可变数据时,您不需要使您的暂存和生产数据库保持同步。
相反,您应该有一个开发剥离的数据库(没有日志、客户、订单等)从生产中使用。您可以放置所有要重新填充该数据的测试订单。这也意味着您没有从暂存数据库中发送电子邮件给实时客户的风险。
换句话说,如果更新数据库、设计等,您需要跟踪两个方面的更改:
对于文件更改,您应该使用版本控制系统(Git、Subversion等),并在进行更改时跟踪它们。当它们经过测试并准备部署到生产中时,您就可以将它们合并到master中。
对于数据库更改,唯一能真正确保将代码部署到生产中的方法就是使用Magento安装/升级脚本将配置添加到数据库中。如果您以前没有使用过它们,那么它们基本上是一个PHP文件和一个模块的config.xml版本号,然后添加一个新的安装脚本并告诉它您想要更改什么,不管是创建新的表或数据,保存还是更改配置值等等。
跟踪安装程序脚本中的所有配置更改(我指的是所有这些,字面意思)的主要好处是:
欲了解更多信息,请访问艾伦·斯托姆写了一篇很棒的文章。
https://stackoverflow.com/questions/33713147
复制