Drupal部署:如何处理数据库?

时间:2011-08-24 20:03:32

标签: git deployment drupal-7 drush

我花了两天时间阅读SO,博客文章,论坛等问题。

大部分信息都是旧的。

我正在使用Drupal 7(使用Drush)和GitHub在我的Ubuntu盒子上构建一个站点用于repo托管。我有SSH访问生产服务器。

在我发布网站的第一个版本后,我将不得不添加功能并修复错误。

一位朋友告诉我将我的SQL文件存储在repo上,并从那里开始。

我的问题是:什么是最好的方法?有没有一个好的做法建议这个?

谢谢!

2 个答案:

答案 0 :(得分:1)

我不是Drupal专家,但通常数据库部署很棘手 - 特别是如果你最终得到测试和prod环境,因为最终需要订购更改。我建议使用某种形式的“主脚本”来执行您需要的数据库更新。我们用查询来包装我们,询问数据库你在哪个版本,并且只应用新的sql更新。

答案 1 :(得分:0)

Drupal中的部署是一个复杂的主题,因为Drupal本身对配置管理的一般主题没有很好的答案。 major initiative已经为Drupal 8取得了重大进展,但是现在,我们处理存储在数据库中的内容和配置的尴尬。

至少,您需要内容的数据库转储。从那里,它成为一系列潜在的散文。只是触及一些:

  • 在模块中使用update hooks作为部署工作流程的一部分来管理数据库更改。
  • 使用exportables / everything-in-code方法,其中数据库的配置类型位作为PHP代码导出,作为站点自定义模块的一部分。有太多不同的方法让我找到一个好的页面链接,但我们使用Features模块。
  • 使用drush作为rsync的包装器,以便您可以使用站点别名等工具管理部署和数据传输。 Drush是一个很棒的工具,只需继续挖掘它。

您可以将SQL转储到存储库中,但我们认为没有必要,因为我们关心版本的所有配置都会导出到代码中。所以SQL转储真的是一个备份。