Установщик никогда не вызывает applyAllDataUpdates (), чтобы завершить установку. Install.php полагает, что загрузчик magento использовался ранее, что вызывает метод applyAllDataUpdates ().
Но в моем случае я не использовал загрузчик magento, потому что я установил экземпляр magento из локального репозитория git (для buildserver, dev-машины и т. Д.) Через мой собственный скрипт ant. Я догадывался, что установка Cli не зависит от загрузчика (по замыслу), но здесь обнаруживается «скрытая» зависимость. Запустите установщик cli отдельно, установите расширения без обновления «data_version».
Обычно вы можете доверять первому http-вызову magento frontend / backend, который вызывает applyAllDUpdates () и applyAllDataUpdates (), если в config (в кеше) есть ошибка, но в этом случае кеш был создан successfull (расширение config) установщиком - поэтому не вызывается applyAllDataUpdates ().
Я выполняю модульные тесты, интеграционные и функциональные тесты (в этой цепочке) после сборки magento (без использования загрузчика). Я получаю странное поведение, если «data_version» не poluted. Мое решение состоит в том, чтобы добавить:
Mage_Core_Model_Resource_Setup::applyAllUpdates();
Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
к начальной загрузке моих юнит-тестов.