登台站点,您如何管理数据库中的同步更新?


11

开发人员应先通过登台站点测试更新,然后再将其发布到实时服务器,这一点已被广泛接受,但是一旦开发更新需要在Wordpress DB中进行修改,事情就会变得复杂,因为实时站点中的用户也会更新数据库。

我能想象的唯一(混乱)的流程如下:

  1. 在本地服务器(WAMP,XAMP等)上测试
  2. 准备好部署后,将活动站点置于维护模式
  3. 备份活动站点(复制器,sqldump等)
  4. 创建一个锁定的实时站点到暂存站点的克隆
  5. 将修改从本地环境上传到登台站点
  6. 测试暂存站点
  7. 推动登台现场直播。
  8. 删除维护模式

上面流程的缺点:

  • 在开发人员正在仔细测试登台站点中的更新时,停机时间可能比用户预期的要长;
  • 可能需要手动管理修改:例如,siteorigin pagebuilder布局存储在数据库中,因此,一旦修改了布局,则必须将其手动导入到登台站点中;在这种情况下,只需将页面拖放到暂存站点中就足够了,如果可行,可以将它们导入实时站点中

我想知道是否有更好,更自动化的方法来实现这一目标。

你怎么看?

根据要求进行编辑,过去已经提出了一些解决方案,但没有一个提供最终的解决方案:


@ Dan9,我认为将对实况网站的访问最小化会更安全。在实时站点上编辑布局是一种常见的习惯吗?也许我太担心了!
Riccardo

好了,您可以创建,更新,删除,还原它们。你在担心什么
MinhTri'9

因此,通常在不进行登台站点测试的情况下上传布局吗?您的典型工作流程是什么(本地/分段/实时)?
Riccardo

看一下wp-sync-db插件
MinhTri

它可靠吗?您在使用这个工具吗?
Riccardo

Answers:


2

专门针对WordPress的新型托管服务提供商通常都有适当的工具来缓解这种痛苦。我将客户放在Pantheon上,该平台具有启用了Git的整洁工作流,其中代码仅向上移动(从开发到暂存到生产),而DB内容仅向下移动(反之亦然)。一键式单击即可将数据库从生产复制到暂存。只要尊重该工作流程,就几乎可以避免搞乱生产数据库的问题,使我能够始终在开发的任何阶段对生产DB数据的新克隆进行测试。

不必使用Pantheon-您可以使用自己的工具(Git + DB克隆插件,如WP Migrate DB)在过程中采用类似的方法。我只是发现这种方式对我来说很好。

问题:为什么在测试阶段时将生产站点置于维护模式?在大多数情况下,都不需要这样做。我能想到的唯一情况是,某种类型的系统非常脆弱,对输入的其他用户数据非常敏感,并且会引发灾难性的错误-但这可能表明存在一个更大,更大的问题,需要在其中进行操作重新考虑他们产品的整个架构。


我的提供程序允许创建一键式登台站点,并可以在要重写的表上进行细粒度选择,以实现现场直播,尽管如此,在最终测试运行时,我仍然需要锁定用户,因为部分部署是在数据库中注入开发人员端数据(例如,sitebuilder页面布局存储在数据库中),要求用户在此阶段停止更新。如果您有更好的方法来实现此步骤,我将很高兴与您分享!
Riccardo

顺便说一句,每次进行一些修改后,您是否都会经历开发/登台/实时流程?例如,在编辑器中略微更改页面的布局,或修改菜单
Riccardo

是的-文件每次都要经过dev-> staging-> prod(也许您可以禁用staging或dev-不记得了)。开发人员用于开发团队,暂存阶段用于质量保证或设计师/客户的批准,然后再推向产品。
蒙特利尔,2016年

1

看看VersionPress,它将GIT版本控制引入整个过程(文件和数据库)

如其网站上所述:

VersionPress提供了无痛的暂存。这意味着您可以轻松地为您的更改创建一个安全的测试环境,并且仅在它们准备好时将其合并。合并是此处的关键词– VersionPress可以无缝处理您的实时站点同时具有新内容的情况。


1
如何验证此工具的可靠性?
Riccardo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.