我们继承了一个WordPress网站,并建立了开发,暂存和生产环境。通过将代码放入 Git 中,将代码更改部署到每个环境(例如,从开发到暂存(非常简单。
但是,我们不确定如何对数据库中的WordPress内容和wp-content/uploads目录中的文件执行相同的操作。
我们希望使用我们的开发站点作为事实来源,在其中准备内容更改,然后将这些内容更改部署到暂存和生产,就像我们对代码所做的那样。
我们必须处理的一些情况:
- 仅将内容(而不是用户(从一个环境部署到另一个环境
- 能够在
wp_posts
表之外部署更改。例如,如果我们更改外观>菜单中的菜单,这些菜单存储在WordPress DB中的其他位置。
确保任何硬编码的 - 绝对 URL(例如在图像、链接、小部件等中(未与硬编码域(例如 dev.mydomain.com(一起部署
是否有一种标准化的方法来处理WordPress中的内容部署管道,从开发到暂存再到生产?
我们正在研究插件,但它们似乎都没有完全实现这一点。
谢谢
您正在寻找最有可能的 ETL(提取 - 转换 - 加载(脚本。它会拉出你想要的桌子。提取-
- Wp_posts
- wp_postmeta
- wp_terms
- wp_termmeta
- wp_term_taxonomy
- wp_term_relationships
- 任何不在WP核心中的插件表。
或者,您可以采用所有表,不包括:
- wp_users
- wp_usermeta
- wp_options
然后运行搜索并替换绝对 URL。
最后将表加载到下一个环境中。
您可以手动编写或使用像 Talend Open Studio for Big Data 这样的程序。