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.