我通常使用 git 作为 WordPress 代码的版本控制系统。但是git缺少一些东西。我可以轻松地同步我的项目文件,但同步数据库总是一个巨大的痛苦。
是否有在实时服务器和开发服务器之间同步数据库的“正确”方法?
我可以在版本控制中包含一个数据库转储并每次更新它,但这似乎并不直观。尤其是在某些情况下,WordPress 倾向于将有关实时服务器的信息保存到数据库中。
PS我不是在谈论数据库结构,因为有ORM技术,而是页面的实际内容。
我通常使用 git 作为 WordPress 代码的版本控制系统。但是git缺少一些东西。我可以轻松地同步我的项目文件,但同步数据库总是一个巨大的痛苦。
是否有在实时服务器和开发服务器之间同步数据库的“正确”方法?
我可以在版本控制中包含一个数据库转储并每次更新它,但这似乎并不直观。尤其是在某些情况下,WordPress 倾向于将有关实时服务器的信息保存到数据库中。
PS我不是在谈论数据库结构,因为有ORM技术,而是页面的实际内容。
你可以试试我的脚本:https ://github.com/jplew/SyncDB
SyncDB 是 bash 部署脚本,旨在消除同步 Wordpress 站点的本地和远程版本的乏味。它允许在本地环境(例如 MAMP)中工作的开发人员使用单个终端命令快速将更改“推送”或“拉取”到他们的生产服务器或从他们的生产服务器中“拉取”更改。
我不断地在 live 和 dev 之间来回迁移内容,因此我将过程简化为一个 shell 命令:
./syncdb
您可以在 MySQL 中进行主从复制或主从复制。
主从复制
主主复制
由于 WordPress 是一个生产就绪系统,大多数数据都是特定于存储环境的。幸运的是,很少需要迁移数据库(即仅在启动站点时)。
您可以通过以下步骤执行此操作:
wp_posts
表wp_posts
表由于大多数运行时配置都在wp_config.php
其中,因此表很少出现问题wp_options
。但是,您可以根据需要导出它。
注意:这摘自我关于为多个环境配置 WordPress 的文章。
还有一些插件可以帮助完成这个过程。