php bin / magento setup:upgradeを使用する場合


10

開発者モードでモジュール内のいくつかのファイルを変更する多くの状況がありますが、実行するまで変更はフロントエンドで行われませんでした php bin/magento setup:upgrade

setup:upgradeMagento 2でコマンドを実行するタイミングとその目的は何ですか?

変更を加えるたびに、setup:upgradeコマンドを実行するまで変更が表示されないので、それは私には奇妙です。var / cacheを削除しても、表示されません。誰でもこれの理由を知っていますか?

回答:


17

1つ以上のモジュールを有効にした場合は、実行magento setup:upgradeしてデータベーススキーマを更新する必要があります。

デフォルトでは、magento setup:upgradeコンパイルされたコードとキャッシュをクリアします。通常、magento setup:upgradeコンポーネントの更新にはを使用し、各コンポーネントには異なるコンパイル済みクラスが必要になる場合があります。

magento setup:upgrade --keep-generated

オプションの--keep-generatedオプションは、経験豊富なシステムインテグレーターが限られた状況でのみ使用する必要があります。--keep-generated開発環境では使用しないでください。

このオプションのパラメーターを不適切に使用すると、コードの実行中にエラーが発生する可能性があります。

アップデート(07/10/17)

トピック作成者が私に尋ねたように:

しかし、私にとっては奇妙なことに、変更を加えるたびに、setup:upgradeコマンドを実行するまで変更は表示されません。var / cacheを削除しても、表示されません。この理由を知っていますか?

var/cacheMagento 2では、Magento 1のように変更を表示するのに十分ではありません。Magento2では、コード内で変更を加えた後(特に、コンストラクタ内で何かを変更した場合)は、クリアする必要がありますvar/generationvar/diコードをコンパイルした場合)。

またvar/view_preprocessed、テンプレートファイル(.phtml)内の何かを変更した場合もクリアする必要があります。

残りの意志がに行くvar/cacheと、var/full_page_cache

お役に立てれば。


サー、回答ありがとうございます。しかし、私にとっては奇妙なことに、変更を加えるたびに、setup:upgradeコマンドを実行するまで変更は表示されません。var / cacheを削除しても、表示されません。この理由を知っていますか?
Michel Gokan

おそらく、十分なディレクトリをクリアしていない可能性があります。たぶん、setup:upgradeコマンドがあなたのためにそれらをクリアしています。このページを参照してください。私はあなたのモジュールが有効になっていると仮定しています。そうでなければ、それも問題を引き起こします。
スティーブジョンソン

@MichelGokan回答を更新しました。
Toan Nguyen 2017

拡張機能を無効にした後でsetup:upgradeを実行する必要がありますか?
Webninja

@Webninjaはい、できます。
Toan Nguyen

0

モジュールを有効にしたらmagento setup:upgrade、データベーススキーマを更新するために実行する必要があるモジュールのバージョンを変更します。

その他の場合、クラスコンストラクターに新しいデータを追加すると、magento setup:upgradevar / 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コマンドを実行せずに変更を取得する場合は、これらの3つのフォルダーをクリアする必要があります

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.