Quando exatamente usar a instalação do php bin / magento: upgrade

10

Existem muitas situações em que altero alguns arquivos no meu módulo no modo desenvolvedor, mas as alterações não ocorreram no frontend até que eu execute php bin/magento setup:upgrade

Só queria saber quando devemos executar o setup:upgradecomando e qual é o objetivo disso no Magento 2?

É muito estranho para mim, porque toda vez que faço algumas alterações, elas não estarão visíveis até depois que eu executar o comando setup: upgrade. Mesmo se eu excluir o var / cache, ele ainda não estará visível. Alguém sabe alguma razão para isso?

Michel Gokan
fonte

Respostas:

17

Se você ativou um ou mais módulos, precisará executar magento setup:upgradepara atualizar o esquema do banco de dados.

Por padrão, magento setup:upgradelimpa o código compilado e o cache. Normalmente, você usa magento setup:upgradepara atualizar componentes e cada componente pode exigir diferentes classes compiladas.

magento setup:upgrade --keep-generated

A --keep-generatedopção opcional deve ser usada apenas em circunstâncias limitadas por integradores de sistemas experientes. --keep-generatednunca deve ser usado em um ambiente de desenvolvimento.

O uso inadequado deste parâmetro opcional pode causar erros durante a execução do código.

ATUALIZAÇÃO (10/07/17)

Como o criador do tópico me perguntou:

Mas é tão estranho para mim, porque toda vez que faço algumas alterações, elas não estarão visíveis até depois que eu executar o comando setup: upgrade. Mesmo se eu excluir o var / cache, ele ainda não estará visível. Você conhece algum motivo para isso?

var/cacheno Magento 2 não é suficiente para tornar as alterações visíveis como o Magento 1. No Magento 2, você precisará limpar var/generation(e var/dise compilou o código) depois de fazer alterações dentro do seu código, especialmente sempre que alterar algo dentro do construtor.

Você também precisará limpar var/view_preprocessedse alterar algo dentro do arquivo de modelo (.phtml)

O resto vai para var/cacheevar/full_page_cache

Espero que isto ajude.

Toan Nguyen
fonte
Senhor, obrigado pela sua resposta. Mas é muito estranho para mim, porque toda vez que faço algumas alterações, elas não estarão visíveis até depois que eu executar o comando setup: upgrade. Mesmo se eu excluir o var / cache, ele ainda não estará visível. Você conhece algum motivo para isso?
Michel Gokan
Talvez você não esteja limpando diretórios suficientes. Talvez o setup:upgradecomando esteja limpando-os para você. Veja esta página para referência. Estou assumindo que seu módulo está ativado; caso contrário, isso também causa problemas.
9788 Steve
@MichelGokan Atualizei a resposta.
Toan Nguyen
Precisamos executar a instalação: atualizar após desativar as extensões?
Webninja 18/01/19
@Webninja Sim, nós fazemos.
Toan Nguyen
0

Ao ativar os módulos, altere a versão dos módulos que você precisará executar magento setup:upgradepara atualizar o esquema do banco de dados.

Em outros casos, quando você adiciona novos dados em seus construtores de classe, é necessário executar magento setup:upgradeporque limpa a pasta var / generation. Para entendê-lo, remova as permissões de gravação e leitura da varpasta e execute o comandomagento setup:upgrade

Você receberá uma mensagem de erro como esta,
Command line user does not have read and write permissions on var/generation directory. Please address this issue before using Magento command line. significando que este comando está limpando a pasta var / generation. Se você deseja obter suas alterações sem executar o magento setup:upgradecomando, limpe essas três pastas

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

Ledian Hymetllari
fonte