2011-08-24 63 views
1

我花了两天的时间阅读关于SO,博客文章,论坛等的问题。Drupal部署:如何处理数据库?

大部分信息都是旧的。

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

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

一位朋友告诉我将我的SQL文件存储在回购站中,然后从那里开始。

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

谢谢!

回答

1

我不是Drupal专家,但是在一般情况下,数据库部署非常棘手 - 特别是如果最终得到测试和产品环境,因为更改最终需要订购。我建议使用某种形式的“主脚本”来执行您需要的数据库更新。我们用查询来包装我们的数据库,并询问数据库是什么版本,并且只应用新的SQL更新。

+0

也许我可以使用某个地方托管的主分贝...... – fedeisas

0

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

至少,您将需要数据库转储的内容。从那里,它成为一系列可能的散文。只需触及几个:

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

您可以将您的SQL转储到存储库,但是我们不认为它是必需的,因为我们关心的所有配置版本都导出到代码。所以SQL转储真的相当于一个备份。