在SQL文件夹下具有多个设置资源
-
16-10-2019 - |
题
如果维护以下设置资源文件夹结构的结构,是否合适?
MyModule > Helper
sql > mymodule_customer_setup
> mymodule_directory_setup
> mymodule_setup
如果上面的结构很好,那么我应该如何在config.xml中定义?我正在考虑按以下方式定义:
<resources>
<mymodule_customer_setup>
<setup>
<module>Package_MyModule</module>
</setup>
</mymodule_customer_setup>
<mymodule_directory_setup>
<setup>
<module>Package_MyModule</module>
</setup>
</mymodule_directory_setup>
<mymodule_setup>
<setup>
<module>Package_MyModule</module>
</setup>
</mymodule_setup>
</resources>
解决方案
因此,让我们介绍这里实际发生的事情。
为所有人安装脚本。
我为所有三个资源创建了更新脚本,然后在 core_resource
表您获取以下信息。
+--------------------------+---------+--------------+
| code | version | data_version |
+--------------------------+---------+--------------+
| mymodule_customer_setup | 0.7.0 | 0.7.0 |
| mymodule_directory_setup | 0.7.0 | 0.7.0 |
| mymodule_setup | 0.7.0 | 0.7.0 |
+--------------------------+---------+--------------+
一个脚本的更新
然后,我更新配置的版本ID,但仅包含一个更新脚本。
+--------------------------+---------+--------------+
| code | version | data_version |
+--------------------------+---------+--------------+
| mymodule_customer_setup | 0.7.1 | 0.7.1 |
| mymodule_directory_setup | 0.7.1 | 0.7.1 |
| mymodule_setup | 0.7.1 | 0.7.1 |
+--------------------------+---------+--------------+
令人遗憾的是,正如预期的那样,即使仅使用一个脚本,所有资源也会同时更新:(
从技术上讲,这种方法没有错,我已经对其进行了测试,并且每个脚本都会被调用,但是所有版本编号都会同时更新。目录中有“丢失”脚本看起来可能有些奇怪,但是您总是可以将空的脚本放在那里,这些脚本只需启动和结束设置以保留订单即可。