#php #magento #installation #command-line-interface
#php #magento #установка #интерфейс командной строки
Вопрос:
я пытаюсь установить Magento 1.5.1 через cli.
Насколько я вижу, все таблицы базы данных созданы с соответствующим содержимым, но в таблице core_resource
я вижу data_version
, что сообщение из sql dir (mysql4-data-upgrade … files) отсутствует. Во всех строках core_resource
столбца data_version
значение null. Почему?
CLI вызывается в соответствии с приведенными здесь инструкциями: http://www.magentocommerce.com/wiki/groups/227/command_line_installation_wizard
A Mage::app()->cleanCache();
после установки не помогает.
Я могу это исправить, выполнив вход в серверную СИСТЕМУ / УПРАВЛЕНИЕ КЭШЕМ и обновив CacheType=CONFIGURATION. Но как это сделать через cli?
Ответ №1:
Установщик никогда не вызывает applyAllDataUpdates() для завершения установки. Install.php доверяет тому, что загрузчик magento использовался ранее, что вызывает applyAllDataUpdates().
Но в моем случае я не использовал загрузчик magento, потому что я установил экземпляр magento из локального репозитория git (для buildserver, dev machine и т. Д.) С помощью моего собственного ant-скрипта. Я предположил, что установка cli не зависит от загрузчика (по дизайну), но здесь обнаружена «скрытая» зависимость. Запустив только установщик cli, настройте расширения без обновления «data_version».
Обычно вы можете доверять первому http-вызову интерфейса / серверной части magento, который вызывает applyAllDUpdates() и applyAllDataUpdates(), если есть ошибка с конфигурацией (в кэше), но в этом случае кеш был успешно создан (extension config) установщиком — поэтому никаких applyAllDataUpdates() запускается.
Я запускаю модульные тесты, интеграционные тесты и функциональные тесты (в этой цепочке) после сборки magento (без использования загрузчика). Я получаю странное поведение, если «data_version» не загрязнен. Мое решение — добавить:
Mage_Core_Model_Resource_Setup::applyAllUpdates();
Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
для начальной загрузки моих модульных тестов.
Комментарии:
1. Хм, какую версию magento вы используете? В моем CE 1.6
appcodecoreMageInstallModelInstallerConsole.php
я вижуMage_Core_Model_Resource_Setup::applyAllDataUpdates();
строку # 381.