質問

以下のようにセットアップリソースフォルダー構造の構造を維持する場合、それは適切ですか?

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>
役に立ちましたか?

解決

それでは、ここで実際に何が起こっているかを踏み出しましょう。

すべてにスクリプトをインストールします。

3つのリソースすべての更新スクリプトを作成し、次に 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        |
+--------------------------+---------+--------------+

1つのスクリプトの更新

次に、構成のバージョンIDを更新しますが、1つの更新スクリプトのみを含みます。

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

残念ながら予想通り、すべてのリソースは、1つのスクリプトだけであっても同時に更新されます:(

技術的には、このアプローチには何の問題もありません。テストしました。各スクリプトは呼び出されますが、すべてのバージョン番号が同時に更新されます。ディレクトリにスクリプトを「欠落」していることは少し奇妙に見えるかもしれませんが、注文を維持するためにセットアップを開始および終了するだけで、空のスクリプトをいつでも配置できます。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top