如果维护以下设置资源文件夹结构的结构,是否合适?

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        |
+--------------------------+---------+--------------+

令人遗憾的是,正如预期的那样,即使仅使用一个脚本,所有资源也会同时更新:(

从技术上讲,这种方法没有错,我已经对其进行了测试,并且每个脚本都会被调用,但是所有版本编号都会同时更新。目录中有“丢失”脚本看起来可能有些奇怪,但是您总是可以将空的脚本放在那里,这些脚本只需启动和结束设置以保留订单即可。

许可以下: CC-BY-SA归因
scroll top