Ressources de configuration ayant plusieurs sous SQL dossier
-
16-10-2019 - |
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>
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.