Mehrere Setup -Ressourcen im SQL -Ordner haben
-
16-10-2019 - |
Frage
Ist es angemessen, wenn die Struktur der Struktur der Ordnerstruktur der Setup -Ressourcen wie unten aufrechterhalten wird?
MyModule > Helper
sql > mymodule_customer_setup
> mymodule_directory_setup
> mymodule_setup
Wenn die obige Struktur in Ordnung ist, wie soll ich dann in der config.xml definieren? Ich denke, wie unten zu definieren:
<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>
Lösung
Lassen Sie uns also durchlaufen, was hier tatsächlich passiert.
Installieren Sie Skripte für alle.
Ich habe Update -Skripte für alle drei Ressourcen und dann in der erstellt core_resource
Tabelle Sie erhalten die folgenden Informationen.
+--------------------------+---------+--------------+
| 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 |
+--------------------------+---------+--------------+
Updates für ein Skript
Ich aktualisiere dann die Versions -ID der Konfiguration, füge jedoch nur ein Update -Skript hinzu.
+--------------------------+---------+--------------+
| 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 |
+--------------------------+---------+--------------+
So traurig wie erwartet werden alle Ressourcen gleichzeitig auch mit nur dem einen Skript aktualisiert :(
Technisch gesehen ist an diesem Ansatz nichts falsch, ich habe ihn getestet und jedes Skript wird aufgerufen, aber alle Versionsnummern werden gleichzeitig aktualisiert. Es mag ein bisschen seltsam aussehen, wenn Sie "fehlende" Skripte in Ihren Verzeichnissen haben, aber Sie könnten dort immer leere Skripte einstellen, die einfach starten und beenden, um die Reihenfolge zu behalten.