¿Cuándo ejecutar los siguientes comandos en magento2?

8

Solo necesito una distinción clara entre estos comandos.

  1. Cuándo ejecutar la configuración de magento: actualización y
  2. cuándo ejecutar setup: di: compile ?

Además, cuando todo el caché está deshabilitado, ¿aún necesitamos vaciar el caché y reindexar el indexador después de cualquier cambio en el módulo?

Kapil Yadav
fuente

Respuestas:

5

Cuándo ejecutar el setup:upgradecomando

Si habilitó uno o más módulos, deberá ejecutar Magento setup:upgradepara actualizar el esquema de la base de datos.

O

Si escribe algún esquema de actualización, debe disparar el setup:upgradecomando Magento

¿Cuándo necesitamos ejecutar el setup:di:compilecomando?

La respuesta es bastante simple. Este comando cumple el siguiente propósito

  1. Generación de código de aplicación (fábricas, proxies, etc.)

  2. Agregación de configuración de área (es decir, configuraciones de inyección de dependencia optimizadas por área)

  3. Generación de interceptores (es decir, generación optimizada de código de interceptores)

  4. Generación de caché de interceptación

  5. Generación de código de repositorios (es decir, código generado para API)

  6. Generación de atributos de datos de servicio (es decir, clases de extensión generadas para objetos de datos)

http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-compiler.html

Si su magento está en modo desarrollador, no necesita activar el comando de compilación, solo necesita eliminar var/diy la generationcarpeta (en magento 2.0.xy 2.1.x) o la carpeta generada en (Magento 2.2.xy superior)

Murtuza Zabuawala
fuente
Siempre eres bienvenido :)
Murtuza Zabuawala
@MurtuzaZabuawala, ¿estás seguro de que el var/didirectorio está en modo desarrollador?
MagePsycho
5

bin / magento setup: upgrade :: Se usa solo si tiene algún cambio en el módulo relacionado con el script de instalación Después de la actualización, debe ejecutar la configuración bin / magento: di: compile .

bin / magento setup: di: compile :: Si está haciendo algún cambio relacionado con los archivos di.xml o cualquier método de controlador. No es necesario ejecutar la actualización en este caso.

Ashish Jagnani
fuente
1

configuración de magento: la actualización es más o menos el equivalente de n98-magerun sys: configuración: se ejecuta en magento 1 en el sentido de que ejecuta sus scripts de configuración pero hace algo adicional a eso en magento 2 desde 2.1 si no me equivoco. Activa tus módulos recién creados. Será necesario ejecutarlo en modo desarrollador, así como en modo producción y predeterminado. setup: di: compile por otro lado genera tus clases "autogeneradas" y solo necesitará ejecutarse en modo producción ya que esto se hace automáticamente en modo desarrollador.

También sobre la indexación , no es necesario hacer eso a menos que tenga habilitado tablas planas y ha realizado un cambio a una de las entidades que se ven afectados por los índices, por ejemplo, atributos de productos, atributos de categoría, categoría de productos, etc borrar la memoria caché shouldn' En teoría, es necesario ejecutarlo si las memorias caché están deshabilitadas, pero lo hago todo el tiempo para verificar la cordura, tenga en cuenta que la actualización de la configuración también borra las memorias caché.

Espero que esto responda tu pregunta.

Vlad
fuente
0

setup: upgrade Cuando haya realizado cambios en los archivos del módulo, debe ejecutar setup: comando de actualización

setup: di: compile Cuando haya realizado cambios en las configuraciones del módulo / diseño, deberá ejecutar el comando setup: di: compile

Naveed Asim
fuente