Drupal на Git, что делать с базой данных? - PullRequest
13 голосов
/ 19 марта 2011

В настоящее время я занимаюсь разработкой сайта на Drupal с парой людей из Git;важно, чтобы этот веб-сайт использовал ту же базу данных без пути, потому что у каждого разработчика есть версия dev в другом каталоге.

Как мне это сделать?

Возможно, мне следует заставить Drupal работатьс SQLite только на разработке;тогда мы можем добавить файл SQLite в репозиторий Git.

Ответы [ 2 ]

14 голосов
/ 21 марта 2011

Вместо того, чтобы работать на уровне базы данных для хранения вашего сайта компонентов , используйте код. Drupal теперь имеет отличную поддержку экспортируемых таблиц для представлений, типов контента, полей, форматов ввода и т. Д. С помощью модуля features .

См. Разработка -> Подготовка -> Проблема рабочего процесса в Drupal и разработка на основе кода : эффективное использование функций в презентации Drupal 6 и 7 .

10 голосов
/ 20 марта 2011

Я привык к Django, где очень легко экспортировать «крепеж» (резервную копию) базы данных и сохранять его в системе контроля версий, такой как 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...