Среда выполнения скрипта установщика
Когда запускаются сценарии установки? Есть ли функция, проверяющая наличие новых версий расширений и сценариев установки при каждой загрузке Magento? Вопрос заключается как в точном времени и месте процесса обновления/установки версии, так и в последующем сценарии установки, если он присутствует для модуля.
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();