问题描述

我有一个 WordPress 数据库开发和生产数据库同步的问题,我想知道其他人如何解决它。我知道 this question,但它并没有真正覆盖更加粗暴和更逼真的用例。

说我有一个活的 WordPress 网站。我把所有的东西都转移到了我们的开发环境中。我开始改变了。 1 周后,我准备好部署我的更新。同时,生产现场的数据库已经发生变化 (新帖,新评论等) 。如何在卷展栏期间同步生产和开发之间的更改,并且可以自动化 (有些至少) 这个过程?

最佳解决方案

可能会有一个更好的方式,我失踪了,但我会给你 2 个选择:

1. 使用 XML 导出来导出您的新帖子和评论。然后使用 WordPress Importer 将新的帖子和注释导入到 dev 数据库

最好导入到 dev,然后将数据库移动到生产中,因为导入时会从生产中下载所有新的媒体文件。

In the meantime production has changed(new posts, new comments, etc.)

这将解决您引入任何更改内容的问题。

2. 使用 INSERT IGNORE INTO MySql 命令从 dev 添加新表。或 REPLACE 命令覆盖同一表中的重复行。

在使用 MySql 之前,对两个数据库进行备份,并将 gz 数据库移动到生产服务器并上传转储 (如果与生产相同,请更改 dev 的名称) 。

INSERT IGNORE INTO `_wp_production_db`.`wp_cool_plugin_options`
SELECT *
FROM `_wp_dev_db`.`wp_cool_plugin_options`

我不太适合 MySql 命令,所以我可以选择 1 。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。