您好我正在尝试将所有数据库更新sql的文件从核心重写或扩展到本地但没有成功,直到现在我有:
CORE:
+core
+Mage
+Mymodule
+...
+etc
-config.xml
+sql
+mymodule_setup
-mysql4-install-0.1.0.php
-mysql4-install-0.1.0-0.1.1.php
-...
本地
+local
+Mage
+Mynamespace
+Mymodule
+...
+etc
-config.xml
+sql
+mymodule_setup
-mysql4-install-0.1.0.php
-mysql4-install-0.1.0-0.1.1.php
-...
所以我的问题是在升级Magento时避免出现问题,如何在核心和本地中配置config.xml,重写阻止, 模型,我做了成功,但不是sql,直到现在我有:
本地
<?xml version="1.0"?>
<config>
<modules>
<Mage_Mymodule>
<version>0.1.1</version>
</Mage_Mymodule>
</modules>
<global>
<resources>
<mynamespace_mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
<class>Mage_Mymodule_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mynamespace_mymodule_setup>
</resources>
<models>
<Mymodule>
<rewrite>
<abc>Mynamespace_Mymodule_Model_Abc</abc>
</rewrite>
</Mymodule>
</models>
</global>
</config>
提前感谢您的帮助。
答案 0 :(得分:1)
无法覆盖安装/更新脚本。 你必须: 1.设置模块的依赖关系,必须最后安装。 2.在安装脚本中,您可以使用任何内容。 你最好使用Varien_Db_Adapter_Pdo_Mysql方法。
答案 1 :(得分:0)
我认为问题在于您已将资源设置中的类更改为可能不存在的类。试试:
<setup>
<module>Mynamespace_Mymodule</module>
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
答案 2 :(得分:0)
你可以制作一些黑客,就像在你的安装类中覆盖受保护的方法_getAvailableDbFiles并使用dirname( FILE )而不是Mage :: getModuleDir(Mage_Core_Model_Resource_Setup~480)重写它