【问题标题】:Drupal on Git, what to do with the database?Git上的Drupal,如何处理数据库?
【发布时间】:2011-03-19 19:50:07
【问题描述】:

我目前正在开发一个 Drupal 网站,其中有几个人使用 Git;重要的是,该网站将使用相同的数据库而没有路径,因为每个开发人员在另一个目录中都有 dev 版本。

我该怎么做?

也许我应该让 Drupal 只在开发上使用 SQLite;然后我们可以将 SQLite 文件添加到 Git 存储库。

【问题讨论】:

  • 也许您可以将 mysql 数据库添加到所有人都可以访问的外部服务器上并打开它以接受来自 Internet 的连接?我确实看到这可能是性能方面的问题,这完全取决于您的互联网连接。
  • 不安全,让所有人都可以访问数据库。我需要查看提交到数据库中的内容以确定是否应将它们合并到项目中,就像代码一样
  • 您是要仅跟踪结构的更改,还是要跟踪结构 + 数据?
  • 不幸的是,结构 + 数据,虽然不应该保存路径 (localhost....) 和用户等内容

标签: git drupal


【解决方案1】:

不要在数据库级别工作来存储您的网站组件,而是使用代码。在features 模块的帮助下,Drupal 现在对视图、内容类型、字段、输入格式等的exportables有了很好的支持。

请参阅 The Development -> Staging -> Production Workflow Problem in DrupalCode driven development: using Features effectively in Drupal 6 and 7 演示文稿。

【讨论】:

  • 最合适的答案,虽然最后我只是用备份和迁移模块导出了数据库,但似乎工作得很好
【解决方案2】:

我已经习惯了 Django,它可以很容易地导出数据库的“fixture”(备份)并将其存储在 git 之类的版本控制系统中。我最近正在考虑这样做,但对于 WordPress。在这样做的时候,我遇到了一些人在谈论一个很棒的 Drupal 命令行工具,叫做 drush:http://drupal.org/project/drush

此工具允许从命令行完成一些很棒的事情,尤其是与备份和迁移等模块结合使用时:http://drupal.org/project/backup_migrate

基本要点是在向服务器推送/拉取服务器时将数据库备份到 SQL 转储,然后您可以在之后恢复数据库。如果出现任何问题,至少您在 git 中有数据库的备份状态。我认为最后一部分是一个非常大的功能。

这是一篇关于使用 drush 和 git 同步本地/实时站点的精彩文章:https://web.archive.org/web/20131231204544/http://www.opc.com.au/web-development/drupal-release-management-drush-and-git

这是另一个用户如何处理将数据库包含在 git 存储库中的方式:http://drupal.org/creating-drupal-test-sites#comment-2130760

这里的问题是您必须小心将数据库同步回实时站点。让多人获取最新版本的实时数据库用于测试目的很容易和简单,但是将某人的本地版本的数据库推回生产环境可能很危险(但前提是多个人在同一个项目上)。

出于好奇,这是我在 WordPress StackExchange 网站上提出的一个类似问题:https://wordpress.stackexchange.com/questions/12239/migrating-data-between-local-and-development-server — 然后我在此处询问(并回答)了该问题的更具体版本:https://wordpress.stackexchange.com/questions/12719/multiple-developers-editors-working-on-a-site-in-progress

【讨论】:

    猜你喜欢
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多