Avere più risorse Setup sotto cartella SQL
-
16-10-2019 - |
Domanda
E 'adatto se mantenere la struttura delle risorse di impostazione della cartella struttura come di seguito?
MyModule > Helper
sql > mymodule_customer_setup
> mymodule_directory_setup
> mymodule_setup
Se sopra la struttura va bene, allora come devo definire nel config.xml? Sto pensando di definire come di seguito:
<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>
Soluzione
Quindi cerchiamo di passo attraverso ciò che accade in realtà qui.
Installa script per tutti.
Ho creato script di aggiornamento per tutte e tre le risorse e quindi nella tabella core_resource
si ottiene le seguenti informazioni.
+--------------------------+---------+--------------+
| 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 |
+--------------------------+---------+--------------+
Aggiornamenti per uno script di
I quindi aggiornare la versione id della configurazione, ma includere un solo script di aggiornamento.
+--------------------------+---------+--------------+
| 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 |
+--------------------------+---------+--------------+
Quindi, purtroppo come previsto tutte le risorse vengono aggiornati allo stesso tempo anche solo con quello script: (
Tecnicamente non c'è nulla di sbagliato in questo approccio, ho provato e ogni script venga chiamato ma tutti i numeri di versione vengono aggiornati allo stesso tempo. Potrebbe sembrare un po 'strano avere "mancante" script nella vostra directory ma si può sempre mettere gli script vuoti lì che semplicemente iniziare e la configurazione finale in modo da mantenere l'ordine.