¿Qué se ejecuta primero, instalar el script de actualización o el script de actualización de datos?

23

Estoy actualizando un módulo a la versión, digamos 0.1.3. Digamos que tengo estos archivos:

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

¿Se ejecutará primero el script de actualización de SQL? El script de actualización de datos requiere una columna que se agregará en el otro script, por lo que si aún no está allí, fallará.

Vic
fuente

Respuestas:

21

El orden es

  1. instalar
  2. instalar script de actualización
  3. script de datos
  4. script de actualización de datos

Más información se puede encontrar aquí: http://inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/

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

O gracias a @RickBuczynski el siguiente enlace: http://vinaikopp.com/2014/11/03/magento-setup-scripts/

Además: si tiene módulos que dependen unos de otros, debe saber que cuando se instalan / actualizan varios módulos a la vez, primero se ejecutan todos los scripts de actualización normales y luego todos los scripts de actualización de datos. Cada uno en el orden en que se cargan los módulos, es decir, con respecto a las dependencias.

JELLEJ
fuente
Ya he leído ambos artículos, pero no hay nada en ellos sobre el orden de ejecución. Su respuesta tiene sentido, pero ¿puede confirmar con evidencia que este es el orden real?
Vic
2
También agregaría esta URL para referencia: vinaikopp.com/2014/11/03/magento-setup-scripts Parece ser la mejor información detallada que he leído sobre el tema.
Rick Buczynski
@Vic ve el enlace de Rick.
JELLEJ
@RickBuczynski wow, ¡artículo increíble!
JELLEJ
2
No, está todo bien. Los 3 recursos son útiles, dependiendo de su nivel de experiencia con esta área. Recibiré mis puntos en otro momento :-p
Rick Buczynski
2

el magento sigue esta orden

  1. instalar
  2. instalar script de actualización
  3. script de datos
  4. script de actualización de datos

lo interesante comienza si

en el primer script inserta datos (crea un sitio web)

y en el segundo guión lees esos datos (la categoría encuentra el sitio web)

  1. los scripts de instalación de magento se ejecutan dentro de una transacción
  2. los scripts de actualización de magento se ejecutan en otra transacción
  3. el nivel de aislamiento de transacciones mysql predeterminado REPEATABLE READ

que te diviertas

Oleksandr Makhno
fuente