Я принял в основном две школы мысли (третью школу мысли, делающую различия в базе данных, я не буду обсуждать, потому что сложность довольно высока).
1) Разверните, удалив производственную базу данных и импортировав mysqldump из базы данных разработки. По желанию, запустите regex find / replace заранее для любых жестко закодированных абсолютных ссылок, которые ссылаются на URL-адрес dev в дампе SQL. После импорта базы данных dev в prod, автоматически запускайте операторы SQL (обычно через скрипт), чтобы изменить любые параметры, отличные для prod, чем dev (например, возможно, в таблице переменных есть некоторые параметры подключения для подключения к внешним системам, которые вам нужны изменить, чтобы указать на внешние системы prod вместо версии dev).
2) Используйте модуль Features , как упомянуто budda, для настроек администратора, и используйте модуль Node Export для экспорта / импорта контента в сочетании с модулем Delete All . Итак, рабочий процесс:
- использовать node_export и функции для экспорта узлов / функций в файлы
- Опционально (и надеюсь) контроль версий
- Загрузка файлов в систему Prod
- Используйте интерфейс drush или admin для загрузки функций
- Используйте drush delete-all или интерфейс администратора, чтобы удалить все узлы типов, которые вы хотите импортировать
- Используйте drush ne-import или интерфейс администратора для импорта узлов из файла узлов, который вы экспортировали.
Одно замечание: я бы настоятельно рекомендовал принять стандартный рабочий процесс, в котором контент идет только в одном направлении. Либо Dev -> Prod, либо Prod -> Dev (я предпочитаю этот).
Я сделал это, и делаю это на некоторых больших системах, с довольно хорошими результатами, но всегда будет много способов нарезать это яблоко, выбрать тот, который подходит вам лучше всего.