Просто нужно четкое различие между этими командами.
- Когда запускать magento setup: обновить и
- когда запустить установку: di: compile ?
Также, когда весь кеш отключен, нужно ли очищать кеш и переиндексировать индексатор после любого изменения в модуле?
var/di
каталог находится в режиме разработчика?Настройка bin / magento: upgrade :: Используется, только если у вас есть какие-либо изменения в модуле, связанные с установочным скриптом. После обновления необходимо запустить установку bin / magento: di: compile .
Настройка bin / magento: di: compile :: Если вы делаете какие-либо изменения, связанные с файлами di.xml или любым методом контроллера. Нет необходимости запускать обновление в этом случае.
источник
magento setup: upgrade примерно соответствует n98-magerun sys: setup: запускается в magento 1 в том смысле, что он запускает ваши установочные сценарии, но делает что-то в дополнение к magento 2 начиная с 2.1, если я не ошибаюсь. Он активирует ваши недавно созданные модули. Это нужно будет запустить в режиме разработчика, а также в режиме производства и в режиме по умолчанию. setup: di: compile, с другой стороны, генерирует ваши «автоматически сгенерированные» классы, и его нужно будет запускать только в производственном режиме, поскольку это делается автоматически в режиме разработчика.
Что касается индексации , вам не нужно делать это, если у вас не включены плоские таблицы и вы внесли изменение в одну из сущностей, на которые влияют индексы, например, атрибуты продукта, атрибуты категории, продукты категории и т. Д. Очистка кэша не должна Теоретически нужно запускать, если кэши отключены, но я делаю это все время для проверки работоспособности, имейте в виду, что обновление установки также очищает кэши.
Надеюсь, это ответит на ваш вопрос.
источник
setup: upgrade Когда вы внесли изменения в файлы модуля, вы должны запустить команду setup: upgrade
setup: di: compile Когда вы внесли изменения в конфигурацию модуля / макета, вам нужно запустить команду setup: di: compile
источник