BLOG

Archivos Install y Upgrade de Entidades y Datos de Entidad en Magento

Ficheros install/upgrade

Cada vez que Magento carga un módulo que incluye entidades que tengan un “Setup“, Magento comparará la versión actual del módulo (en su archivo de configuración config.xml) y la versión registrada del módulo por el sistema (tabla core_resource de la base de datos).

Si no existe versión instalada o no coinciden las versiones, Magento ejecutará el “Setup” de la entidad yendo la carpeta “…/sql/custommodule_setup” de nuestro módulo para comprobar los scripts de instalación y actualización que existen.

Estos archivos pueden ser php o sql.

Si en nuestro caso la carpeta contuviera los siguientes archivos:

  • mysql4-install-0.1.0.php
  • mysql4-install-0.1.2.php
  • mysql4-install-1.0.0.php
  • mysql4-upgrade-0.1.0-0.1.2.php
  • mysql4-upgrade-0.1.2-1.0.0.php

Planteemos varias situaciones y analicemos el resultado:

  • Carga 0.1.0 – Instalada ninguna: instala mysql4-install-0.1.0.php
  • Carga 0.1.0 – Instalada 0.1.0: no hace nada
  • Carga 0.1.2 – Instalada ninguna: instala mysql4-install-0.2.0.php
  • Carga 0.1.2 – Instalada 0.1.0: actualiza mysql4-upgrade-0.1.0-0.1.2.php
  • Carga 1.0.0 – Instalada 0.1.0: actualiza mysql4-upgrade-0.1.0-0.1.2.php y mysql4-upgrade-0.1.2-1.0.0.php

Cuando se completa la instalación o actualización se actualiza la versión del módulo registrada en la base de datos.

Los módulos instalados y  su versión actual se almacenan en  la tabla “core_resource” de la base de datos.

Ficheros install/upgrade de datos

De igual forma que operan los install/upgrade de entidad, se buscarán y ejecutarán los archivos de install/upgrade de datos que serán buscados por Magento en la carpeta “…/data/custommodule_setup” de nuestro módulo.

Estos archivos son php.

Cuando se completa la instalación o actualización de datos se actualiza la versión de los datos del módulo registrada en la base de datos.

Los módulos instalados y  su versión actual de datos se almacenan en  la tabla “core_resource” de la base de datos.

Publicado

Categoría Zaragento

Acerca de Zaragento

Trabajando con Magento desde 2008. Magento Certified Developer y Magento Frontend Developer. He desarrollado más de 20 proyectos completos, con integraciones y desarrollos a medida. ¿Hablamos?