Magento: Как я могу перенести изменения конфигурации из среды разработки в рабочую среду? - PullRequest
7 голосов
/ 17 ноября 2010

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

Ответы [ 2 ]

8 голосов
/ 28 июня 2011

Не уверен, что это все еще актуально, но если вы имеете в виду изменения в system -> config, то гораздо лучше использовать такие узлы config.xml вместо написания обновления базы данных.

Magneto обрабатывает core_config_data таблицу в глобальной структуре XML, поэтому вы можете просто изменить структуру XML, не используя таблицу db для внесения изменений в конфигурацию системы.

Вот небольшой пример:

<config>
   <stores>
       <french>
          <design>
             <theme>
                 <default>french</default>
             <theme>
          </design>
       </french>
   </stores>
   <websites>
       <base>
          <design>
             <theme>
                 <default>english</default>
             <theme>
          </design>
       </base>
   </websites>
</config>

В этом примере одно поле конфигурации изменяется для двух областей в Magento. Это определение текущей темы в зависимости от текущего сайта и магазина.

Итак, <stores /> узел содержит значения конфигурации для конкретного хранилища. Где каждый дочерний элемент назван с кодом хранилища и содержит данные конфигурации во вложенном представлении. И <website /> узел содержит значения конфигурации для определенного веб-сайта. Где каждый дочерний элемент назван с кодом веб-сайта и также содержит данные конфигурации во вложенном представлении.

Также имеется доступный узел <default /> для значений конфигурации в глобальной области видимости. Но оно будет переопределено на <stores /> и <websites />, если определенное значение относится к области.

Я делаю изменения в конфигурации только через config.xml, потому что развертывание проекта намного проще, когда вам просто нужно установить его через установщик Magento без внесения изменений в "Система -> Конфиг".

5 голосов
/ 17 ноября 2010

Внесите изменения как часть скрипта установки или обновления в каталоге sql вашего модуля. В файле "config.xml" вашего модуля увеличивайте номер версии каждого соответствующего изменения, а также не забудьте заполнить узел <config><global><resources><MODULE_setup><setup>.

Поскольку скрипт запускается в контексте Magento, у вас также есть доступ ко всем обычным функциям, обновления не обязательно должны быть в форме команд SQL.

...