关于Git的Drupal,如何处理数据库?

Asa*_*saf 13 git drupal

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

我该怎么办?

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

Pie*_*yle 14

不使用数据库级别来存储站点组件,而是使用代码.Drupal现在在功能模块的帮助下为视图,内容类型,字段,输入格式等的可导出提供了很好的支持.

请参阅Drupal中的开发 - >暂存 - >生产工作流问题代码驱动的开发:在Drupal 6和7演示中有效使用功能.


Gav*_*egg 10

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

这个工具允许从命令行完成一些很棒的事情,特别是当与Backup和Migrate等模块结合使用时: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-和混帐

以下是另一个用户如何在git repo中处理数据库: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