数据库版本控制

时间:2015-10-13 16:08:20

标签: mysql wordpress git

我有一种情况,我不能成为唯一遇到这种情况的人,但我找不到任何令人满意的文章,答案或想法。我有一个Wordpress网站,我想最终得到一个情况,如果出现问题我可以轻松返回到以前的版本。

我提出了this article中概述的方法。然后我会将另一个子模块添加到包含数据库的根文件夹中。

Git-wise我有这样的设置:

|
|-- .git (Main repository called 'root')
|
|-- webroot/
|      |
|      |-- wp-core/
|             |
|             |-- .git (submodule with Wordpress core)
|
|-- database/
|      |
|      |-- .git (submodule with database)

对于每个开发迭代,我将遵循以下步骤:

  1. 将数据库副本从live提取到dev(本地)
  2. 开始开发(可能的数据库更改)
  3. 当开发完成并准备好进行暂存(测试)时,从实时数据库中提取副本而不使用wp_options表(仅限内容表)并将其合并到本地数据库中
  4. 将合并的本地数据库导出到数据库存储库
  5. 将数据库存储库推送到bitbucket
  6. 在“root”存储库中提取数据库子模块
  7. 使用数据库备份推送完整的开发迭代
  8. 对于数据库同步我正在考虑WP Migrate Pro DB,但shell脚本导出也可能是一个选项。

    我想到的这种方法的优点是每个之前的提交包含一个完整的工作代码,所以如果出现故障,我可以毫不费力地恢复。

    不知怎的,这种方法感觉不对,尤其是数据库部分。在this topic中提到了在Git中存储数据库的一个相当不利的缺点,但我无法提出任何更好的想法。

    有人对这个烂摊子有什么想法吗? :)

0 个答案:

没有答案