Quando executar os seguintes comandos no magento2?

8

Só precisa de uma distinção clara entre esses comandos.

  1. Quando executar a instalação do magento: atualize e
  2. quando executar o setup: di: compile ?

Além disso, quando todo o cache está desativado, ainda precisamos liberar o cache e reindexar o indexador após qualquer alteração no módulo?

Kapil Yadav
fonte

Respostas:

5

Quando executar o setup:upgradecomando

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

Ou

Se você escrever algum esquema de atualização, precisará disparar o setup:upgradecomando Magento

Quando precisamos executar o setup:di:compilecomando?

A resposta é bem simples Este comando cumpre o seguinte objetivo

  1. Geração de código do aplicativo (fábricas, proxies etc.)

  2. Agregação de configuração de área (ou seja, configurações otimizadas de injeção de dependência por área)

  3. Geração de interceptores (ou seja, geração otimizada de código de interceptores)

  4. Geração de cache de interceptação

  5. Geração de código de repositórios (ou seja, código gerado para APIs)

  6. Geração de atributos de dados de serviço (ou seja, classes de extensão geradas para objetos de dados)

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

Se o seu magento estiver no modo de desenvolvedor, não será necessário acionar o comando compile, basta remover var/die generationdobrar (no magento 2.0.xe 2.1.x) ou a pasta gerada no (magento 2.2.xe acima)

Murtuza Zabuawala
fonte
Você é sempre bem-vindo :)
Murtuza Zabuawala
@MurtuzaZabuawala você tem certeza de que o var/didiretório existe no modo de desenvolvedor?
precisa saber é o seguinte
5

configuração bin / magento: upgrade :: É usada apenas se houver alguma alteração no módulo relacionada ao script do instalador. Após a atualização, execute o bin / magento setup: di: compile .

configuração bin / magento: di: compile :: Se você estiver fazendo alguma alteração relacionada aos arquivos di.xml ou a qualquer método do controlador. Não há necessidade de executar a atualização neste caso.

Ashish Jagnani
fonte
1

magento setup: upgrade é aproximadamente o equivalente ao n98-magerun sys: setup: execute no magento 1 no sentido de que ele executa seus scripts de instalação, mas faz algo além do magento 2 desde o 2.1, se não me engano. Ativa seus módulos recém-criados. Isso precisará ser executado no modo de desenvolvedor, bem como nos modos de produção e padrão. setup: di: compile, por outro lado, gera suas classes "geradas automaticamente" e só precisará ser executado no modo de produção, pois isso é feito automaticamente no modo de desenvolvedor.

Também sobre a indexação , você não precisa fazer isso, a menos que tenha as tabelas simples ativadas e faça uma alteração em uma das entidades afetadas pelos índices, por exemplo, atributos do produto, atributos da categoria, produtos da categoria etc. Limpar o cache não deve ser ' teoricamente, ele precisa ser executado se os caches estiverem desativados, mas eu faço isso o tempo todo para verificar a integridade, lembre-se de que a atualização da instalação limpa os caches também.

Espero que isso responda à sua pergunta.

Vlad
fonte
0

setup: upgrade Quando você faz alterações nos arquivos do módulo, você deve executar o comando setup: upgrade

setup: di: compile Quando você fez alterações nas configurações do módulo / layout, execute o comando setup: di: compile

Naim Asim
fonte