Среда выполнения скрипта установщика


Когда запускаются сценарии установки? Есть ли функция, проверяющая наличие новых версий расширений и сценариев установки при каждой загрузке Magento? Вопрос заключается как в точном времени и месте процесса обновления/установки версии, так и в последующем сценарии установки, если он присутствует для модуля.

Author: mbalparda, 2014-10-12

1 answers

Magentos проверяет все версии модулей для каждого определенного сценария установки (их может быть более одного на модуль), определенного в /config/modules/<YourModuleName>/version, по сравнению с версией, сохраненной в таблице core_resource.

Пока кэш активирован, на практике это означает, что сценарии не запускаются, потому что версия модуля сохраняется в кэше конфигурации.

При объединении конфигурации могут выполняться сценарии. Существует два типа сценариев:

  • установка сценариев
  • данные сценарии

Эти сценарии вызываются с помощью

Mage_Core_Model_Resource_Setup::applyAllUpdates();

И

Mage_Core_Model_Resource_Setup::applyAllDataUpdates();

Есть несколько отличий, главное из которых заключается в том, что сценарии установки мало что знают об установке, особенно они ничего не знают о существующих веб-сайтах, представлениях магазинов и т.д.

Я думаю, что понять, что происходит проще всего, это иметь несколько точек останова в app/code/core/Mage/Core/Model/App.php, чтобы увидеть загрузку magento.

Короче говоря:

index.php
|- Mage::run()
    |- Mage_Core_Model_App::run()
           |- Mage_Core_Model_App::_initModules()
           |   |- Mage_Core_Model_Resource_Setup::applyAllUpdates()
           |- Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
 4
Author: Fabian Blechschmidt, 2014-10-12 16:44:22