Best place to put module installation scripts in Magento

Magento module 中,在哪里放置安装脚本比较好?

当然,把它放在 sql/$resourceName 目录下 $resModel.’-‘.$actionType.’-(.*)\.(sql|php) 文件里是不错的。安装脚本通常是修改数据库结构,所以放在.sql文件理所当然。但如果安装脚本跟数据库无关,放在.sql略显勉强,为此,我找了一个更好的地方。

首先在 config.xml 声明一个 setup 类:


<config>

<resources>
<mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
<class>Mynamespace_Mymodule_Model_Setup</class>
</setup>
</mymodule_setup>
</resources>
</config>

这个类只要 extends Mage_Core_Model_Abstract,不一定得 extends Mage_Core_Model_Resource_Setup。

然后在该类里放置 applyUpdates() 方法,把安装脚本都写到这个方法里就可以了。模块在安装时就是执行这个方法,而且是在 .sql 执行之前。

Leave a Reply

Your email address will not be published. Required fields are marked *