所以,我正在尝试使用我的模块运行安装脚本。 (Magento 1.7) 我有这是我的模块config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Sulman_Custompermissions>
<version>1.0.0.0</version>
</Sulman_Custompermissions>
</modules>
<global>
<resources>
<mymodule_setup>
<setup>
<module>Sulman_Custompermissions</module>
</setup>
</mymodule_setup>
</resources>
</global>
</config>
这是我的安装脚本的文件结构: /app/code/local/Sulman/Custompermissions/sql/mymodule_setup/install-1.0.0.0.php
然后在我的install-1.0.0.0.php脚本中运行:
die('here');
问题是安装脚本似乎永远不会运行(没有任何故障)。 但有一行正确插入core_resource表... 有线索吗?感谢
(p.s。如果core_resource表中有记录,则在我尝试运行脚本之前将其删除)
答案 0 :(得分:4)
基于您的模块的配置XML正在合并(因此core_resource
中的记录)这一事实,并假设您帖子中的XML是该内容的副本,有三种可能性:
include()
文件内容解决方案:
grep
,打破您正在使用的文件中的配置XML,和/或转储相关xpath的配置XML:
echo Mage::getConfig()->getNode('modules/Sulman_Custompermissions/version');
echo Mage::getConfig()->getNode('global/resources/mymodule_setup/setup/module');
答案 1 :(得分:0)
将config.xml修改为 1.0.0.0
<global>
<resources>
<mymodule_setup>
<setup>
<module>Sulman_Custompermissions</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
</resources>
</global>
并将安装脚本文件名更改为mysql4-install-1.0.0.0.php
并从core_resource
表中删除该条目并清除缓存并检查....
答案 2 :(得分:0)
确保config.xml命名模块,因为它出现在sql目录中。对我来说,我有sql-&gt; customizations_setup,这在本地工作正常,大写字母如下:
<Customizations_setup>
<setup>
<module>AMI_Customizations</module>
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</Customizations_setup>
但这只能起作用,因为我的本地机器不区分大小写。我的生产(linux)服务器区分大小写,它会在core_resource ok中创建条目,但是从那里它不会创建db条目,直到我使xml与我的目录名匹配,如下所示:
<customizations_setup>
<setup>
<module>AMI_Customizations</module>
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</customizations_setup>