Question

est-il approprié si le maintien de la structure des ressources de configuration dossier structure ci-dessous?

MyModule > Helper
           sql    > mymodule_customer_setup
                  > mymodule_directory_setup
                  > mymodule_setup

Si la structure ci-dessus est très bien, comment dois-je définir dans le config.xml? Je pense à définir comme ci-dessous:

<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>
Était-ce utile?

La solution

Alors, nous allons pas à travers ce qui se passe réellement ici.

Installer des scripts pour tous.

Je créé des scripts de mise à jour pour les trois ressources, puis dans la table core_resource vous obtenez les informations suivantes.

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

Mises à jour pour un seul script

mettre à jour l'id de la version de la config, mais comprenant un seul script de mise à jour.

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

Alors, malheureusement comme prévu toutes les ressources sont mises à jour en même temps, même avec seulement un seul script: (

Techniquement, il est faux de rien avec cette approche, je l'ai testé et chaque script ne soit appelé, mais tous les numéros de version sont mis à jour en même temps. Cela peut sembler un peu étrange d'avoir « disparu » scripts dans vos répertoires, mais vous pouvez toujours mettre des scripts vides, il suffit que commencer et la configuration de fin de manière à maintenir l'ordre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top