- A+
使用实际内容开发WordPress主题要容易得多。当人们添加页面、帖子、媒体和评论时,意外的情况开始出现。您漂亮的模板可能会在以下情况下中断:
- 编辑器使用的资产太大或太小,无法处理断点。
- 经理们引入了一个新的菜单项,它不适合低屏幕大小的菜单项。
- 您的主题实现了一个两级菜单层次结构,它无法满足不可避免的第三级页面的需要。
- 长的或深嵌套的注释变得不可读。
理想情况下,您的开发服务器应该拥有实时生产服务器数据库的快照。如果内容在发生更改时自动同步,您的工作流可以进一步改进。
同步瓶颈
单向WordPress数据库复制可能比您预期的更具挑战性。有很好的理由说明为什么很少有程序员生活在这个开发梦想之地…中。
数据差异
WordPress将各种配置设置存储在其数据库中。这包括在整个帖子和资产引用中使用的域名和路径。将此信息导入本地数据库(可能托管在http://localhost/)上)将导致不希望的结果。它可能看起来很有效,但是图像和链接URL可能会把你带回到实时服务器。
为了增加复杂性,WordPress序列化了一些数据。很难解析和更改这些值。
多重安装
当您是唯一从事本地安装并上载到单个活动服务器的开发人员时,同步就不那么必要和复杂了。对于具有多个开发人员、暂存服务器的团队,以及可能比在生产服务器上更复杂的团队来说,生活更加复杂。
数据库可以很大
SitePoint运行在WordPress上,包含数千篇文章、草稿和修订版。即使实现了快速增量同步,您也不太可能需要或需要大量兆字节的POST数据。
不仅仅是数据库
WordPress在本地文件系统中存储上传的图像和其他媒体。需要下载这些文件,必须相应地更新数据库引用。
您还必须确保主题和插件文件的同步、启用和适当配置。也就是说,您可能不希望某些插件启用,例如多站点、缓存等。
太危险了!
同步过程会失败吗?同步是否可能被错误配置,从而使开发数据正常运行?是否存在实时数据库可能被损坏或删除的风险?
绝对一点儿没错。
不管你选择什么解决方案,确保您有正常的文件和数据库备份。从你的现场和开发服务器。想象一下失去一切。跑了几分钟
1 | mysqldump |
比花很多天重写丢失的内容更麻烦!
同步是可能的吗?
是的,但是没有一个合适的选择。您可能需要双向数据库同步。您可能需要从实时服务器到开发服务器的单向复制。或者你可能想从发展到生活。你可能只需要一页。还是想要帖子、评论、用户和其他数据?数据库数据是否足够,还是需要所有媒体资产?您喜欢手动同步,以预定义的间隔进行同步,还是自动同步?
根据您的情况,下面的一个或多个选项可能是合适的,…
WP迁移DB Pro
也许最著名和最简单的选择是WP迁移DB Pro WordPress插件。美味的大脑...该商业产品具有媒体文件附加和多站点功能
注:数据是使用浏览器中的Ajax方法提取的,因此大型数据库需要时间进行同步。
WP同步数据库
WP同步数据库是WP迁移DB的一个开源分支。
VersionPress
VersionPress是一个基于Git的WordPress版本控制插件,可以管理数据库合并.该产品正在开发中,但似乎很有希望。
内容的WPSiteSync
提供免费和商业版,WPSiteSync允许页面、帖子和其他数据的实时同步.
数据库同步
数据库同步是一个免费的数据库只同步WordPress插件。它已经有一段时间没有更新了,并且与多个站点的安装不兼容,但对一些开发人员来说可能已经足够了。
WordPress进口商
如果您希望使用更安全、更手动的处理方法,WordPress导入程序会将帖子、页面、注释、类别、标签、作者和其他数据导出到XML文件中,可以导入到其他安装中。这也是一个很好的选择,如果你是建立一个在开发系统中的帖子现场。
同步数据库
SyncDB是一个bash脚本,它同步本地和远程WordPress数据库。
WP分期
WordPress WP暂存插件能够将数据和文件从实时复制到开发或暂存服务器。
WordPress GitHub同步
WordPress GitHub同步插件允许您同步内容,允许您同步来自GitHub存储库或Jekyll创建的网站的内容。对于需要内容编辑、协作和拉出请求审批工作流的团队来说,这可能是一个有趣的选项。
PushLive
PushLive插件只需单击一次就可以复制到活动站点。支持多站点WordPress安装。
可湿性粉剂Stagecoach
一种商业在线服务,允许将暂存数据合并到您的实时数据库中。
MySQL同步工具
大多数优秀的MySQL数据库管理工具都提供数据库导入、导出和/或同步功能。自由MySQL工作台或者说是个好的开始。更高级的工具,如对称度提供数据转换和过滤等功能。最后,您可以考虑一些选项,如MySQL复制若要自动将数据从活动主数据库复制到开发辅助服务器,请执行以下操作。