Я управляю сайтом Magento с рабочим экземпляром, несколькими экземплярами разработки и экземпляром тестирования.
Magento, как правило, довольно чист в хранении метамодели и информации о конфигурации базы данных в коде. Каждый модуль поставляется со сценариями базы данных, которые он должен запустить для установки самого себя, и Magento довольно хорошо запускает их автоматически, когда появляется код для модуля. Есть некоторые параметры конфигурации, которые изменены в администраторе и хранятся в базе данных, но очень немногие. Это отличается от некоторых систем, например Drupal, где в базе данных хранится огромное количество метамодельной информации, которая никогда не отражается в коде.
Что я делаю, так это отслеживаю кодовую базу в управлении версиями. Например, я установлю новый модуль в версии для разработчиков. Как только код заработает, я помечу его в системе управления версиями, вытолкну тег в экземпляр теста и скопирую базу данных из рабочей среды в экземпляр теста. Это дает мне точную картину того, как будет выглядеть производственная система. (При перемещении базы данных Magento от экземпляра к экземпляру требуются небольшие изменения. Подробности см. в этом ответе .)
При развертывании, как правило, очень мало параметров конфигурации, которые должны быть установлены администратором. Я делаю заметки о них, когда проверяю их, и это дает мне список того, что нужно сделать при переходе к производству.
Если вам необходимо настроить параметры автоматической и мгновенной конфигурации при развертывании, вы можете указать параметры конфигурации по умолчанию, которые вам нужны в файле config.xml, который будет загружен после вашего модуля (то есть зависит от вашего модуля). Я никогда не делал это таким образом, но я не вижу причин, почему это не сработало бы.
Любые изменения в действующих данных (изменение цен по всем направлениям и т. Д.), Я пишу сценарий для dev, тестирую копию действующей базы данных и внедряю в производство.
Надеюсь, это поможет.