основной ресурс создает установку модуля, но сценарий установки не вызывается
Я пытаюсь создать установочный файл, но Magento не запускает этот файл, хотя он помещает запись в таблицу core_resource.
Я удалил строку, которая была создана, и снова загрузил страницу. Строка была создана заново, но файл установки не был вызван (в этом файле есть только оператор и echo и оператор die, чтобы проверить, работает ли он).
Пытаясь решить эту проблему, я нашел этот вопрос в stackoverflow и последовал совету, но, похоже, я не могу добиться результата. Когда я нарушаю конфигурацию, я получаю страницу 404, я изменил разрешение на файл, так что проблем нет. Наконец я загрузил конфигурацию, там я нашел Ps_Prefs_Model_Mysql4_Setupcore_setupcore_writecore_read
, поэтому Magento что-то делает с моим файлом, но я не могу сказать, что из этого следует.
Я надеюсь, что это простая проблема с корпусом (которую я не вижу, поэтому ниже приведены мои файлы и моя конфигурация)
Я также попытался переименовать установочный файл mysql4-install-0.1.0.php, это не возымело никакого эффекта
<config>
<modules>
<Ps_Prefs>
<version>0.1.0</version>
</Ps_Prefs>
</modules>
<global>
<models>
........
</models>
<resources>
<prefs_setup>
<setup>
<module>Ps_Prefs</module>
<class>Ps_Prefs_Model_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</prefs_setup>
<prefs_write>
<connection>
<use>core_write</use>
</connection>
</prefs_write>
<prefs_read>
<connection>
<use>core_read</use>
</connection>
</prefs_read>
</resources>
............
</global>
В журнале/system.log я получаю это сообщение
2013-10-01T09:36:13+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 8: parser error : Start tag expected, '<' not found in /Users/tsimps/Sites/magentoDevTest/lib/Varien/Simplexml/Config.php on line 510
2013-10-01T09:36:13+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: </config>--> in /Users/tsimps/Sites/magentoDevTest/lib/Varien/Simplexml/Config.php on line 510
2013-10-01T09:36:13+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in /Users/tsimps/Sites/magentoDevTest/lib/Varien/Simplexml/Config.php on line 510
2013-10-01T09:36:14+00:00 DEBUG (7): HEADERS ALREADY SENT: <pre>[0] /Users/tsimps/Sites/magentoDevTest/app/code/core/Mage/Core/Controller/Response/Http.php:52
[1] /Users/tsimps/Sites/magentoDevTest/lib/Zend/Controller/Response/Abstract.php:766
[2] /Users/tsimps/Sites/magentoDevTest/app/code/core/Mage/Core/Controller/Response/Http.php:83
[3] /Users/tsimps/Sites/magentoDevTest/app/code/core/Mage/Core/Controller/Varien/Front.php:188
[4] /Users/tsimps/Sites/magentoDevTest/app/code/core/Mage/Core/Model/App.php:354
[5] /Users/tsimps/Sites/magentoDevTest/app/Mage.php:683
[6] /Users/tsimps/Sites/magentoDevTest/index.php:87
</pre>
Кэш отключен и очищен (просто упакован)
Я использую версию 1.7.0.2
1 answers
Строка создается, когда у вас есть запись внутри вашего config.xml
. Если установочный файл не существует (или он находится не в том месте), magento просто создает строку в таблице core_resource
и не вызывает никакого скрипта.
Это проблема, если позже вы добавите сценарий установки, который никогда не вызывается, потому что запись уже существует.
Поэтому сначала напишите сценарий установки, затем добавьте установку в config.xml
, а затем добавьте сценарии обновления, если это необходимо,