Какова наилучшая процедура для объединения работ, выполненных с версией разработки сайта, в рабочую копию? Часто на сайт добавлялось много нового контента с тех пор, как началась разработка новейших функций. И большинство дополнений к сайту будет связано с изменениями базы данных. Так что копировать любые новые файлы легко, но как насчет базы данных? Как объединить изменения с существующей производственной базой данных, не теряя новый контент, который был добавлен с момента последнего обновления рабочего сайта? Есть ли модули, которые помогают с этим?
40
Ответы:
Для типов контента, представлений и структурных изменений на сайте разработчика смотрите использование Функций для экспорта базы данных в код.
Для миграции контента есть много вариантов, но нет единого твердого решения. Одним из примеров является пакет развертывания .
источник
Я принял в основном две школы мысли (третью школу мысли, делающую различия в базе данных, я не буду обсуждать, потому что сложность довольно высока).
1) Разверните, удалив производственную базу данных и импортировав mysqldump из базы данных разработки. По желанию, запустите regex find / replace заранее для любых жестко закодированных абсолютных ссылок, которые ссылаются на URL-адрес dev в дампе SQL. После импорта базы данных dev в prod, автоматически запускайте операторы SQL (обычно через скрипт), чтобы изменить любые параметры, отличные для prod, чем dev (например, возможно, в таблице переменных есть некоторые параметры подключения для подключения к внешним системам, которые вам нужны изменить, чтобы указать на внешние системы prod вместо версии dev).
2) Используйте модуль Features , как упомянуто budda, для настроек администратора, и используйте модуль Node Export для экспорта / импорта контента в сочетании с модулем Delete All . Итак, рабочий процесс:
Одно замечание: я бы настоятельно рекомендовал принять стандартный рабочий процесс, в котором контент идет только в одном направлении. Либо Dev -> Prod, либо Prod -> Dev (я предпочитаю этот).
Я сделал это, и делаю это на некоторых больших системах, с довольно хорошими результатами, но всегда будет много способов нарезать это яблоко, выбрать тот, который подходит вам лучше всего.
источник
Дамп базы данных действующей копии сайта и его разработки в файле SQL (используйте одинаковые параметры и настройки для обоих дампов).
Затем сравните оба файла SQL, используя небольшой инструмент сравнения ExamDiff . Он будет отображать различия файлов рядом с разными цветами. Вы также можете напрямую перейти к различиям (без прокрутки). Изучите различия и добавьте / отредактируйте строки в файл SQL живого сайта. Убедитесь, что в этом файле нет абсолютного пути / URL-адреса среды разработки. Это сделано! Время восстановить базу данных для живого сайта.
Сделай свою жизнь проще:На первом шаге дамп только тех таблиц, которые изменены. Например, если вы редактировали модуль в копии для разработки, предназначенный для отдельной таблицы, дамп только этой таблицы. Если вы не уверены в конкретной таблице, весь дамп базы данных подойдет.
источник