Когда именно использовать php bin/настройка magento: обновление


Существует множество ситуаций, в которых я изменяю некоторые файлы в своем модуле в режиме разработчика, но изменения не происходили во внешнем интерфейсе, пока я не запустил php bin/magento setup:upgrade

Просто хотел узнать, когда мы должны запустить команду setup:upgrade и какова ее цель в Magento 2?

Это просто так странно для меня, потому что каждый раз, когда я делаю какие-то изменения, они не будут видны до тех пор, пока я не выполню команду setup:upgrade. Даже если я удалю var/кэш, он все равно не будет виден. Кто-нибудь знает какую-либо причину этого?

Author: Andhi Irawan, 2016-04-25

2 answers

Если вы включили один или несколько модулей, вам потребуется запустить magento setup:upgrade для обновления схемы базы данных.

По умолчанию magento setup:upgrade очищает скомпилированный код и кэш. Как правило, вы используете magento setup:upgrade для обновления компонентов, и для каждого компонента могут потребоваться разные скомпилированные классы.

magento setup:upgrade --keep-generated

Дополнительная опция --keep-generated должна использоваться только в ограниченных обстоятельствах опытными системными интеграторами. --keep-generated никогда не следует использовать в среде разработки.

Неправильное использование этот необязательный параметр может привести к ошибкам во время выполнения кода.

ОБНОВЛЕНИЕ (07/10/17)

Как спросил меня создатель темы:

Но это так странно для меня, потому что каждый раз, когда я делаю какие -то изменения, они не будут видны до тех пор, пока я не выполню команду setup:upgrade . Даже если я удалю var/кэш, он все равно не будет виден. Знаете ли вы какую-либо причину этого?

var/cache в Magento 2 недостаточно, чтобы изменения были видны, как в Magento 1. В В Magento 2 вам нужно будет очистить var/generationvar/di, если вы скомпилировали код) после внесения изменений в свой код, особенно всякий раз, когда вы что-то меняете внутри конструктора.

Вам также потребуется очистить var/view_preprocessed, если вы что-то измените в файле шаблона (.phtml)

Остальное пойдет var/cache и var/full_page_cache

Надеюсь, это поможет.

 20
Author: Toan Nguyen, 2017-07-10 03:37:40

Когда вы включите модули, измените версию модулей, вам нужно будет запустить magento setup:upgrade, чтобы обновить схему базы данных.

В других случаях, когда вы добавляете новые данные в конструкторы классов, вам нужно запустить magento setup:upgrade, потому что это очищает папку var/generation. Чтобы понять это, удалите разрешения на запись и чтение для папки var и выполните команду magento setup:upgrade

Вы получите сообщение об ошибке, подобное этому
Command line user does not have read and write permissions on var/generation directory. Please address this issue before using Magento command line. это означает, что эта команда очищает папку var/generation. Если вы хотите получить ваши изменения без выполнения команды magento setup:upgrade, вам необходимо очистить эти три папки

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

 0
Author: Ledian Hymetllari, 2017-07-09 23:36:52