Benötigen Sie nur eine klare Unterscheidung zwischen diesen Befehlen.
- Wann wird das Magento-Setup ausgeführt ? Upgrade und
- Wann soll Setup ausgeführt werden: di: compile ?
Müssen wir nach einer Änderung des Moduls den Cache leeren und den Indexer neu indizieren, wenn der gesamte Cache deaktiviert ist?
var/di
Verzeichnis im Entwicklermodus befindet?bin / magento setup: upgrade :: Wird nur verwendet, wenn Sie Änderungen am Modul in Bezug auf das Installationsskript vorgenommen haben. Nach dem Upgrade muss bin / magento setup: di: compile ausgeführt werden .
bin / magento setup: di: compile :: Wenn Sie Änderungen an di.xml-Dateien oder einer Controller-Methode vornehmen. In diesem Fall muss kein Upgrade ausgeführt werden.
quelle
magento setup: upgrade entspricht in etwa n98-magerun sys: setup: in magento 1 ausführen in dem Sinne, dass es Ihre Setup-Skripte ausführt, aber es tut etwas zusätzlich zu dem in magento 2 seit 2.1, wenn ich mich nicht irre. Es aktiviert Ihre neu erstellten Module. Dies muss sowohl im Entwicklermodus als auch im Produktions- und Standardmodus ausgeführt werden. setup: di: compile hingegen generiert Ihre "automatisch generierten" Klassen und muss nur im Produktionsmodus ausgeführt werden, da dies automatisch im Entwicklermodus erfolgt.
Auch bei der Indizierung müssen Sie dies nicht tun, es sei denn, Sie haben flache Tabellen aktiviert und eine Änderung an einer der Entitäten vorgenommen, die von den Indizes betroffen sind, z. B. Produktattribute, Kategorieattribute, Kategorieprodukte usw. Das Löschen des Cache sollte nicht erfolgen. Es muss theoretisch ausgeführt werden, wenn die Caches deaktiviert sind, aber ich mache es die ganze Zeit, um die Integrität zu überprüfen. Denken Sie daran, dass das Setup-Upgrade auch die Caches löscht.
Ich hoffe das beantwortet deine Frage.
quelle
setup: upgrade Wenn Sie Änderungen an den Moduldateien vorgenommen haben, müssen Sie den Befehl setup: upgrade ausführen
setup: di: compile Wenn Sie Änderungen an den Modul- / Layoutkonfigurationen vorgenommen haben, müssen Sie den Befehl setup: di: compile ausführen
quelle