Наличие нескольких ресурсов настройки в папке SQL

magento.stackexchange https://magento.stackexchange.com/questions/13608

  •  16-10-2019
  •  | 
  •  

Вопрос

Уместно ли это, если поддерживать структуру структуры папок ресурсов настройки, как показано ниже?

MyModule > Helper
           sql    > mymodule_customer_setup
                  > mymodule_directory_setup
                  > mymodule_setup

Если выше структура в порядке, то как я должен определить в config.xml? Я подумываю определить, как ниже:

<resources>
    <mymodule_customer_setup>
        <setup>
            <module>Package_MyModule</module>
        </setup>
    </mymodule_customer_setup>
    <mymodule_directory_setup>
        <setup>
            <module>Package_MyModule</module>
        </setup>
    </mymodule_directory_setup>
    <mymodule_setup>
        <setup>
            <module>Package_MyModule</module>
        </setup>
    </mymodule_setup>
</resources>
Это было полезно?

Решение

Итак, давайте пройдемся через то, что на самом деле происходит здесь.

Установите сценарии для всех.

Я создал сценарии обновления для всех трех ресурсов, а затем в core_resource Таблица вы получаете следующую информацию.

+--------------------------+---------+--------------+
| code                     | version | data_version |
+--------------------------+---------+--------------+
| mymodule_customer_setup  | 0.7.0   | 0.7.0        |
| mymodule_directory_setup | 0.7.0   | 0.7.0        |
| mymodule_setup           | 0.7.0   | 0.7.0        |
+--------------------------+---------+--------------+

Обновления для одного сценария

Затем я обновляю идентификатор версии конфигурации, но включаю только один скрипт обновления.

+--------------------------+---------+--------------+
| code                     | version | data_version |
+--------------------------+---------+--------------+
| mymodule_customer_setup  | 0.7.1   | 0.7.1        |
| mymodule_directory_setup | 0.7.1   | 0.7.1        |
| mymodule_setup           | 0.7.1   | 0.7.1        |
+--------------------------+---------+--------------+

К сожалению, как и ожидалось, все ресурсы обновляются одновременно даже с одним сценарием :(

Технически нет ничего плохого в этом подходе, я протестировал его, и каждый скрипт действительно вызывается, но все номера версий обновляются одновременно. Это может выглядеть немного странно, имея «отсутствующие» сценарии в ваших каталогах, но вы всегда можете положить там пустые сценарии, которые просто запускают и заканчивают настройку, чтобы сохранить заказ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top