Quand exécuter les commandes suivantes dans magento2?

8

Juste besoin d'une distinction claire entre ces commandes.

  1. Quand exécuter la configuration de magento: mise à niveau et
  2. quand exécuter le programme d' installation: di: compile ?

De plus, lorsque tout le cache est désactivé, avons-nous encore besoin de vider le cache et de réindexer l'indexeur après tout changement de module?

Kapil Yadav
la source

Réponses:

5

Quand exécuter la setup:upgradecommande

Si vous avez activé un ou plusieurs modules, vous devrez exécuter Magento setup:upgradepour mettre à jour le schéma de la base de données.

Ou

Si vous écrivez un schéma de mise à niveau, vous devez lancer la setup:upgradecommande Magento

Quand devons-nous exécuter la setup:di:compilecommande?

La réponse est assez simple Cette commande remplit le but suivant

  1. Génération de code d'application (usines, procurations, etc.)

  2. Agrégation de configuration de zone (c'est-à-dire, configurations d'injection de dépendance optimisées par zone)

  3. Génération d'intercepteurs (c'est-à-dire génération de code optimisée d'intercepteurs)

  4. Génération de cache d'interception

  5. Génération de code de référentiels (c'est-à-dire, code généré pour les API)

  6. Génération d'attributs de données de service (c'est-à-dire, classes d'extension générées pour les objets de données)

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

Si votre magento est en mode développeur, vous n'avez pas besoin de déclencher la commande de compilation, il vous suffit de supprimer var/diet de generationdossier (dans magento 2.0.x et 2.1.x) ou le dossier généré dans (Magento 2.2.x et supérieur)

Murtuza Zabuawala
la source
Vous êtes toujours les bienvenus :)
Murtuza Zabuawala
@MurtuzaZabuawala êtes-vous sûr que le var/dirépertoire est en mode développeur?
MagePsycho
5

configuration bin / magento: upgrade :: Est utilisé uniquement si vous avez un changement dans le module lié au script d'installation. Après la mise à niveau, vous devez exécuter la configuration bin / magento: di: compile .

configuration bin / magento: di: compile :: Si vous effectuez des modifications liées aux fichiers di.xml ou à toute méthode de contrôleur. Pas besoin d'exécuter la mise à niveau dans ce cas.

Ashish Jagnani
la source
1

magento setup: upgrade est à peu près l'équivalent de n98-magerun sys: setup: run in magento 1 dans le sens où il exécute vos scripts de configuration mais il fait quelque chose en plus de cela dans magento 2 depuis 2.1 si je ne me trompe pas. Il active vos modules nouvellement créés. Cela devra être exécuté en mode développeur ainsi qu'en production et en mode par défaut. setup: di: compile d'autre part génère vos classes "autogénérées" et il n'aura besoin que d'être exécuté en mode production car cela se fait automatiquement en mode développeur.

Aussi sur l' indexation , vous n'avez pas besoin de le faire , sauf si vous avez des tables à plat activé et que vous avez fait un changement à l' une des entités qui est affectée par les indices, par exemple atributs de produits, les attributs de la catégorie, les produits de la catégorie , etc. Suppression du cache shouldn » Il faut théoriquement être exécuté si les caches sont désactivés, mais je le fais tout le temps pour vérifier la validité, gardez à l'esprit que la mise à niveau de la configuration efface également les caches.

J'espère que cela répond à votre question.

Vlad
la source
0

setup: upgrade Lorsque vous avez apporté des modifications aux fichiers du module, vous devez exécuter la commande setup: upgrade

setup: di: compile Lorsque vous avez apporté des modifications aux configurations module / disposition, vous devez exécuter la commande setup: di: compile

Naveed Asim
la source