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

Git上的Drupal,如何处理数据库?,git,drupal,Git,Drupal,我目前正在开发一个Drupal网站,有几个人在Git上;重要的是,此网站将使用相同的数据库而不使用路径,因为每个开发人员在另一个目录上都有开发版本 我该怎么做 也许我应该让Drupal只在开发时使用SQLite;然后我们可以将SQLite文件添加到Git存储库。我习惯于Django,在Django中,导出数据库的“fixture”(备份)并将其存储在Git之类的版本控制系统中非常容易。我最近正在考虑做这件事,但不是为了WordPress。在这样做的时候,我遇到一些人在谈论一个很棒的Drupal命

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

我该怎么做


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

我习惯于Django,在Django中,导出数据库的“fixture”(备份)并将其存储在Git之类的版本控制系统中非常容易。我最近正在考虑做这件事,但不是为了WordPress。在这样做的时候,我遇到一些人在谈论一个很棒的Drupal命令行工具drush:

此工具允许从命令行执行一些很棒的操作,尤其是与备份和迁移等模块结合使用时:

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

下面是一篇关于将本地/实时站点与drush和git同步的精彩文章:

下面是另一个用户如何处理将DB包括在git回购中的问题:

这里的问题是,在将数据库同步回实时站点时,您必须小心。让多人抓取最新版本的live DB进行测试很简单,但将某人的本地版本的DB重新投入生产可能会很危险(但前提是多人参与同一项目)


出于好奇,我在WordPress StackExchange网站上问了一个类似的问题:-然后我在这里问(并回答)了一个更具体的问题:

使用代码,而不是在数据库级别存储站点组件。在模块的帮助下,Drupal现在非常支持视图、内容类型、字段、输入格式等的可导出性


请参阅和演示文稿。

也许您可以将mysql数据库添加到所有人都可以访问的外部服务器上,然后打开它以接受来自internet的连接?我确实认为这可能是性能方面的问题,这一切都取决于您的internet连接。让所有人都可以访问数据库是不安全的。我需要查看数据库中的提交,以便决定是否应该将它们合并到项目中,就像代码一样。您是否只希望跟踪结构的更改,还是结构+数据?不幸的是,结构+数据,尽管路径(localhost…)和用户等内容不应该保存最合适的答案,虽然在最后我刚刚导出了带有备份和迁移模块的DB,但它似乎工作得很好