Quale viene eseguito per primo, script di installazione dell'aggiornamento o script di aggiornamento dei dati?


23

Sto aggiornando un modulo alla versione, diciamo 0.1.3. Di 'che ho questi file:

data/mymodule_setup/data-upgrade-0.1.2-0.1.3.php
sql/mymodule_setup/upgrade-0.1.2-0.1.3.php

Lo script di aggiornamento sql verrà eseguito per primo? Lo script di aggiornamento dei dati richiede una colonna che verrà aggiunta nell'altro script, quindi se non è ancora presente fallirà.

Risposte:


21

L'ordine è

  1. installare
  2. installa lo script di aggiornamento
  3. script di dati
  4. script di aggiornamento dei dati

Maggiori informazioni possono essere trovate qui: http://inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/

oppure http://www.sitepoint.com/magento-install-upgrade-data-scripts-explained/

O grazie a @RickBuczynski il seguente link: http://vinaikopp.com/2014/11/03/magento-setup-scripts/

Aggiunta: se si dispone di moduli che dipendono l'uno dall'altro, è necessario sapere che quando vengono installati / aggiornati più moduli contemporaneamente, vengono eseguiti prima tutti gli script di aggiornamento normali, quindi tutti gli script di aggiornamento dei dati. Ciascuno nell'ordine in cui viene caricato il modulo, ovvero per quanto riguarda le dipendenze.


Ho già letto entrambi quegli articoli, ma non c'è nulla in essi sull'ordine di esecuzione. La tua risposta ha un senso, ma puoi confermare con prove che questo è il vero ordine?
Vic,

2
Aggiungerei anche questo URL per riferimento: vinaikopp.com/2014/11/03/magento-setup-scripts Sembra essere la migliore informazione approfondita che io abbia mai letto sull'argomento.
Rick Buczynski,

@Vic vedi il link da Rick.
JELLEJ,

@RickBuczynski Wow, fantastico articolo!
JELLEJ,

2
No, va tutto bene. Tutte e 3 le risorse sono utili, a seconda del livello di esperienza in quest'area. Prenderò i miei punti un'altra volta :-p
Rick Buczynski,

2

il magento segue questo ordine

  1. installare
  2. installa lo script di aggiornamento
  3. script di dati
  4. script di aggiornamento dei dati

l'interessante inizia se

nel 1 ° script si inseriscono i dati (creare sito Web)

e nel 2 ° script leggi quei dati (la categoria trova il sito Web)

  1. gli script di installazione di magento vengono eseguiti all'interno di una transazione
  2. gli script di aggiornamento di magento vengono eseguiti in altre transazioni
  3. il livello di isolamento della transazione mysql predefinito REPEATABLE READ

divertiti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.