Как развернуть изменения БД от dev до производства в Magento


9

Мне известно, что в модулях есть сценарии установки и настройки данных, которые делают переносимую БД из разработки в производство.

Но в нашем случае у нас есть разработчики пользовательского интерфейса, которые добавляют атрибуты и продукты через интерфейс администратора, который сохраняется в БД разработки.

В день выпуска мы не можем повторить все шаги, которые мы сделали в среде разработчика, поскольку это будет слишком утомительно и отнимает много времени.

Есть ли способ обрабатывать такие изменения БД при развертывании.

На данный момент мы выполняем различие между dev DB и prod DB и генерируем SQL, который запускается в день выпуска. Но это мало опасно, так как в базе данных dev могут содержаться тестовые транзакционные данные, и мы можем блокировать транзакционные таблицы в prod, если в нашем SQL есть какие-либо операторы, модифицирующие транзакционные таблицы.

Есть ли лучшие практики вокруг этого? Спасибо за помощь в продвижении

Ответы:


8

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

Единственный правильный способ переноса данных - использовать установочные сценарии.

Также это позволит настроить новые среды (например, для новых рыб вашей команды), которые будут в курсе текущего положения вещей.

Хороший вопрос, кстати.


Я лично обнаружил, что некоторые модули из Magento Connect не всегда полностью совместимы с точки зрения запуска сценариев установки с нуля. Мне все еще нужно разобраться, что именно произошло, но наша установка хранилища находится в таком состоянии, что, начиная с пустой базы данных, сценарии установки конфликтуют друг с другом, и хранилище не может загрузить пустую базу данных. Чтобы начать все заново, нам нужно применять модули по очереди. Или исправлять ошибки в программном обеспечении, которое мы не писали.
nbering

Как поместить в скрипт изменения, сделанные из админ панели Magento? Например: добавить атрибуты и продукты или изменить конфигурацию какого-либо расширения?
Андреа

1
@ Андреа, вы просто не вносите изменения в админ панель Magento. Все через установочные скрипты. Конечно, в некоторых случаях, если вы хотите что-то попробовать, вы еще не уверены, что в конечном итоге вы что-то изменили в admin, но в этом случае эти изменения должны быть отменены и применены еще раз через скрипт установки.
user487772 25.09.16

Как к вашему сведению. В итоге мы использовали скрипты установки для большинства изменений. К счастью, наш разработчик пользовательского интерфейса не возражал против создания сценариев установки, как только он его освоил. Вы также можете создать тикет для создания нового скрипта установки и назначить его своим разработчикам. У нас также есть маркетинговая команда, которая использует функцию CMS magento. Вместо того, чтобы вносить эти изменения в среду разработки, мы попросили их внести эти изменения непосредственно в производство. Мы добавили роль CMS, которая предоставит им доступ только к функциям CMS. Затем мы иногда публикуем изменения CMS из Prod в Stage, а затем QA и Dev, используя собственный скрипт.
Джитендра Пуджари
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.