WordPress和WooCommerce:本地主机、临时和生产环境以及如何在不丢失数据的情况下同步它们

时间:2017-11-30 作者:Mestika

我正在为一家电子商务商店开发我的第一个WooCommerce网站,我很有希望在一月份推出(我应该说,我从一开始就一直在使用Wordpress,所以我对WP或PHP开发并不陌生),但我正在为如何建立一个良好的开发/生产环境而努力。

我一直在寻找这个问题的答案,但到目前为止,我得到的答案是,没有“好方法”可以做到这一点,需要手动更新。

问题是Wordpress将所有内容都保存在同一个数据库中,从帖子(和订单)到设置和元数据。

以前,我能够复制生产站点或快照,覆盖本地主机,然后从那里开始工作。相信我的制作网站在此期间不会收到任何新内容<但对于电子商务网站来说,这不太可能。

文件本身不是问题,这是由git 但数据库是一个更难破解的难题。

我是开发商。我们也有一个设计器/CSS向导,我们都在localhost上工作。然后,我们有一个存储人员和一个销售人员,为他们批准和预览更改,我们有一个在线暂存环境。当然,作为最后一件事,我们有生产环境,实际上是“商店”。

如果有任何想法、想法、链接或其他关于其他人如何解决这个问题的好建议,或者是否有一些好的结构/插件可以帮助确保这可以正确完成,我将不胜感激。

谢谢

2 个回复
SO网友:kierzniak

我建议在localhost和开发环境中使用fixture。

Symfony文档中的固定装置定义:

fixture用于将一组“伪”数据加载到数据库中,然后用于测试,或者在开发应用程序时帮助提供一些有趣的数据。

要使用WordPress上的固定装置,可以使用wp-cliwp import 用于导入WXR文件的命令。当然,您可以将WXR文件保存在存储库中,以便为其他开发人员提供数据。使用fixture,您可以为所有开发人员和测试环境提供一致的数据。

对于临时环境,我建议复制生产数据库。

我不知道您是否计划随着应用程序的增长更新数据库架构。WordPress非常有弹性,在我95%的情况下,我不需要更新模式。如果您认为有这种情况,请熟悉数据库迁移。基本上,迁移是一些脚本,它们知道是否需要更新数据库模式,并将更新数据库模式,如果部署过程中出现问题,还可以选择执行回滚。

SO网友:Leon

尝试VersionPress. 它将Git operate(拉/推)引入WordPress。除了来自文件的差异外,VersionPress还对数据库进行差异。

使用VersionPress,您可以将暂存合并到生产,并解决冲突。

结束