Cuándo exactamente usar la configuración de php bin / magento: actualizar

10

Hay muchas situaciones en las que cambio algunos archivos en mi módulo en el modo desarrollador pero los cambios no tuvieron lugar en la interfaz hasta que ejecuté php bin/magento setup:upgrade

Solo quería saber cuándo debemos ejecutar el setup:upgradecomando y cuál es su propósito en Magento 2.

Es muy extraño para mí, porque cada vez que estoy haciendo algunos cambios, no serán visibles hasta después de ejecutar el comando setup: upgrade. Incluso si elimino el var / cache, todavía no es visible. Alguien sabe alguna razón para esto?

Michel Gokan
fuente

Respuestas:

17

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

Por defecto, magento setup:upgradeborra el código compilado y el caché. Normalmente, se utiliza magento setup:upgradepara actualizar componentes y cada componente puede requerir diferentes clases compiladas.

magento setup:upgrade --keep-generated

La --keep-generatedopción opcional solo debe ser utilizada en circunstancias limitadas por integradores de sistemas con experiencia. --keep-generatednunca debe usarse en un entorno de desarrollo.

El uso incorrecto de este parámetro opcional puede causar errores durante la ejecución del código.

ACTUALIZACIÓN (07/10/17)

Como el creador del tema me preguntó:

Pero es muy extraño para mí, porque cada vez que estoy haciendo algunos cambios, no serán visibles hasta después de ejecutar el comando setup: upgrade. Incluso si elimino el var / cache, todavía no es visible. ¿Conoces alguna razón para esto?

var/cacheen Magento 2 no es suficiente para que los cambios sean visibles como Magento 1. En Magento 2, deberá borrar var/generation(y var/disi compiló el código) después de realizar cambios dentro de su código, especialmente cada vez que cambie algo dentro del constructor.

También deberá borrar var/view_preprocessedsi cambia algo dentro de su archivo de plantilla (.phtml)

El resto irá a var/cacheyvar/full_page_cache

Espero que esto ayude.

Toan Nguyen
fuente
Señor, gracias por su respuesta. Pero es muy extraño para mí, porque cada vez que estoy haciendo algunos cambios, no serán visibles hasta después de ejecutar el comando setup: upgrade. Incluso si elimino el var / cache, todavía no es visible. ¿Conoces alguna razón para esto?
Michel Gokan
Quizás no estás limpiando suficientes directorios. Tal vez el setup:upgradecomando los está despejando para ti. Mira esta página como referencia. Supongo que su módulo está habilitado; si no, eso también causa problemas.
Steve Johnson
@MichelGokan Actualicé la respuesta.
Toan Nguyen
¿Necesitamos ejecutar la configuración: actualizar después de deshabilitar extensiones?
Webninja el
@Webninja Sí, lo hacemos.
Toan Nguyen
0

Cuando habilite los módulos, cambie la versión de los módulos que deberá ejecutar magento setup:upgradepara actualizar el esquema de la base de datos.

En otros casos, cuando agrega datos nuevos en los constructores de su clase, debe ejecutarlos magento setup:upgradeporque borra la carpeta var / generation. Para entenderlo, elimine los permisos de escritura y lectura para la varcarpeta y ejecute el comandomagento setup:upgrade

Recibirá un mensaje de error como este,
Command line user does not have read and write permissions on var/generation directory. Please address this issue before using Magento command line. lo que significa que este comando está borrando la carpeta var / generation. Si desea obtener sus cambios sin ejecutar el magento setup:upgradecomando, debe borrar estas tres carpetas

rm -rf var/cache/* var/page_cache/* var/generation/*

Ledian Hymetllari
fuente