将开发数据库与生产合并的最佳方法是什么?

时间:2014-02-15 18:41:15

标签: wordpress wordpress-plugin

我们开发WordPress网站,我们有回复客户,要求我们对其网站进行修订,要求我们在开发到生产(实时)之前在开发环境中进行开发。挑战一直是如何合并两个不同步的WordPress数据库,但是必须保留相互新的内容。

此内容的范围从页面,帖子和评论到插件设置以及其他微妙信息。因此,我们导出两个数据库并使用FileMerge for Mac来显示差异并手动合并它们。如果WordPress数据库不包含如此多的元信息,那么这将是正常的,否则,人类不可读(下面的示例)。

我的问题是,是否有人建议如何解决这个问题?基本上如果我们可以省略下面的项目(假设这样做是安全的吗?)那么我们将非常高兴继续使用FileMerge。但是对于这些项目,我们感觉我们正在解密世界上最长的密码。

FYI WP Migrate DB(包括Pro)无法做到这一点。我们采访了作者。

感谢。

以下是我认为可以省略而不会在数据库中造成任何冲突的数据库记录列表。   - _transient_random_seed   - active_plugins“a”值(我相信它代表活动插件的数量)   - _site_transienty_timeout_browser   - recent_edited   - db_version   - 克朗   - _transient_timeout_feed_mod   - _transient_feed_mode   - rewrite_rules   - 插件版本  --_edit_locks

3 个答案:

答案 0 :(得分:8)

我一直在寻找这个问题的两个可能的解决方案,但是两者都有限制在开发/登台服务器上需要php exec()。所以像wpengine这样的主机(我们正在使用它)将无法使用它们。

如果这不是您的限制,请查看https://revisr.io/http://versionpress.net/

Revisr是开源的,而VersionPress目前正在使用付费的早期访问计划来支持开发。两者都使用git来管理来自WP-Admin的Wordpress同步的所有方面。

答案 1 :(得分:3)

从Red Gate尝试MySQL数据比较。我自己使用MSSQL版本,这是我最喜欢的开发工具之一。您可以准确选择要同步的表甚至单个记录。现在它的坏消息只能在Windows上运行,并不便宜。 如果我不在自己的Windows机器上开发,我会为这个程序买一个。

http://www.red-gate.com/products/mysql/mysql-data-compare/

答案 2 :(得分:1)

我正在寻找同样的东西。我得到的最接近的是WP Stagecoach,这是实际合并数据的少数事情之一!缺点是您从实时站点创建一个开发站点 - 这意味着您必须在那里进行所有更改...然后您可以与实际站点(数据和文件)合并。

这意味着您无法在本地工作,必须在Stagecoach服务器上执行此操作。

另外,要注意的一件事是Datahawk,没有时间表,他们什么时候发布它,但它来自WP Migrate DB Pro家伙...开发人员已经告诉我它将会处理合并,虽然我不知道怎么回事。