WordPress工作流-版本控制,部署=数据库问题

时间:2016-09-30 作者:Daryl

我正试图通过版本控制来开发Wordpress站点,但我无法解决DB同步问题。

为简单起见,我将描述一个仅包含实时和临时网站以及回购的场景:

将Live DB下拉到暂存DB,对代码执行相同操作,在暂存上安装WP插件。根据需要调整、配置和测试准备就绪后,部署到Live<;-问题是,安装插件可能会导致数据库发生更改。新表,甚至可能是现有表中的新条目。当然,推高插件的代码部分并不是问题,但DB的变化又如何呢?Live DB已经更改(毕竟它是一个Live站点)。这意味着我又陷入了困境——在没有适当的测试和部署工作流的情况下直接在Live上安装插件。

我读到的所有关于将WP置于源代码管理和正确部署实践之下的文章似乎都没有提到这个问题。我是不是完全错过了一些显而易见的东西?

谢谢你的帮助!

1 个回复
SO网友:Mark Kaplun

答案是尽量避免通过管理界面中继配置更改。不要使用无法通过过滤选项配置的插件,或者更好的做法是,只使用那些具有官方API并使用API的插件。

例如,如果一个插件有一个选项“pl\\u option”,当它的值为5时,您很高兴使用该选项,请不要通过admin在DB中更改该选项,而是使用如下筛选器将其设置为5

add_filter(\'get_option_pl_option\', function () {return 5;});
如果在下一版本的插件中,DB结构更改为数组,那么您可以将代码更改为

add_filter(\'get_option_pl_option\', function () {return array(\'value\'=>5;});
这显然不会阻止插件进行DB更改,但会使您的代码对它们不可知。

无论如何,在任何情况下,将代码放在版本控制中都是一个小小的胜利,即使遵循上面的建议对您来说并不现实。

相关推荐

Publication Workflow

我正在考虑担任以下两个角色:一篇文章可以处于以下不同的状态:草稿已准备好发布,我正在寻求的工作流程是:李安editor 写一篇博客文章。这是一个draft.</一旦定稿,编辑将ist标记为ready for publication. 从那一刻起,编辑looses the ability to edit the blogpost.publisher 审查、编辑和publishes the blogpost.这是否可以通过Wordpress实现如果没有,是否有用于此类工作流的最新插件<这似乎是一个