starter pro pricing ecommerce business php deployment magento e-commerce database-versioning

php - pro - magento ecommerce pricing



Magento: ¿cómo puedo migrar los cambios de configuración del entorno de desarrollo al de producción? (2)

Estamos desarrollando módulos de manera activa y cuando promovemos los cambios en nuestro sitio de producción, generalmente hay varios cambios de configuración que debemos realizar. Sería bueno automatizar esto ... ¿pensamientos?


Realice los cambios como parte de una secuencia de comandos de instalación o actualización en el directorio "sql" de su módulo. En el archivo "config.xml" de su módulo, incremente el número de versión de cada cambio coincidente y también recuerde completar el nodo <config><global><resources><MODULE_setup><setup> .

Debido a que el script se ejecuta dentro del contexto de Magento, también tiene acceso a toda la funcionalidad normal, las actualizaciones no tienen que ser en forma de comandos SQL.


No estoy seguro de si todavía es real, pero si se refiere a cambios en el sistema -> config, entonces es mucho mejor utilizar tales nodos config.xml en lugar de escribir la actualización de la base de datos.

Magneto procesa la tabla core_config_data en la estructura XML global, por lo que puede simplemente cambiar la estructura XML sin usar la tabla db para realizar cambios en la configuración del sistema.

Aquí hay un pequeño ejemplo:

<config> <stores> <french> <design> <theme> <default>french</default> <theme> </design> </french> </stores> <websites> <base> <design> <theme> <default>english</default> <theme> </design> </base> </websites> </config>

En este ejemplo, se cambia un campo de configuración para dos ámbitos en Magento. Es la definición del tema actual según el sitio web y la tienda actuales.

Por lo tanto, el nodo <stores /> contiene valores de configuración para una tienda en particular. Donde cada elemento secundario se nombra con código de tienda y contiene datos de configuración en vista anidada. Y el nodo <website /> contiene valores de configuración para un sitio web en particular. Donde cada elemento secundario se nombra con el código del sitio web y contiene datos de configuración en la vista anidada también.

También hay un nodo <default /> para los valores de configuración en el alcance global. Pero será reemplazado por <stores /> y <websites /> si un valor particular es para un alcance.

Estoy haciendo cambios a la configuración solo a través de config.xml porque implementar el proyecto es mucho más fácil cuando solo necesitas instalarlo a través del instalador de Magento sin hacer cambios en "Sistema -> Configuración".