管理wordpress环境

时间:2013-03-30 22:09:09

标签: php database wordpress deployment

我有一个小团队(4名开发人员),我们创建了一个网站,目前有500名用户。

我们的开发周期如下:

  1. 我们在localhost上进行更改(安装插件或自定义代码)。
  2. 我们把它推向开发环境。我们可以进行压力测试,我们有几个测试用户等等。
  3. 我们对此进行评估。
  4. 我们将其推向生产。
  5. 部署新代码就像git pull一样简单,但真正的问题是数据库。

    几乎所有插件都要求我点击管理面板中的内容。更重要的是:当我安装它们时,它们中的一些会创建新表或更新现有表。例如,为每个用户添加一些新的用户元数据。

    我想到了一些解决方案:

    • 在所有环境中手动安装插件:

    我可以手动安装插件,但这很容易出错。 我们有几种情况,代码是相同的,但由于一些简单的错误配置,网站的工作方式不同。

    • 导出整个数据库:

      • 导出生产数据库并导入开发。
      • 在dev。
      • 上安装插件
      • 将dev迁移到生产。

    它有一个真正的问题 - 它不是原子的。如果用户在我在dev上安装插件时创建了一个帖子 - 它就消失了。

    • 从数据库更改创建脚本:

    我可以记录,当我通过My​​SQL二进制日志安装插件时,wordpress做了什么。

    问题是,可以在一个数据库查询中获取所有用户,然后使用ID向另一个添加一些元数据。这意味着,该二进制日志使用一堆ID记录查询。如果新用户在进程中注册 - 它就消失了。

    • 使用selenium IDE记录配置更改:

    然后我可以将测试套件导出到python并使用更改的主机地址重播。它可以工作,但似乎更像是解决方法,然后是解决方案。

    • 修改所有插件,以便通过php文件配置它们:

    这似乎是合法的,但可能会创造很多工作。

    您能告诉我,如何通过数据库更改自动化wordpress部署?


    在SO上有几个类似的问题:

    Managing Wordpress blog on development and live environment

    Wordpress Dev Environment Migration

    但这些是相当基本的问题,并没有解决我的问题。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用WP Migrate DB Pro? 我使用这个插件进行数据库传输。