最初に実行されるのは、インストールアップグレードスクリプトとデータアップグレードスクリプトのどちらですか?


23

モジュールをバージョンにアップグレードしています0.1.3。これらのファイルがあるとします:

data/mymodule_setup/data-upgrade-0.1.2-0.1.3.php
sql/mymodule_setup/upgrade-0.1.2-0.1.3.php

SQLアップグレードスクリプトは最初に実行されますか?データアップグレードスクリプトには、他のスクリプトに追加される列が必要であるため、まだ存在しない場合は失敗します。

回答:


21

順序は

  1. インストール
  2. アップグレードスクリプトのインストール
  3. データスクリプト
  4. データアップグレードスクリプト

詳細については、http//inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/を参照してください。

またはhttp://www.sitepoint.com/magento-install-upgrade-data-scripts-explained/

または、@ RickBuczynskiの次のリンクに感謝します:http ://vinaikopp.com/2014/11/03/magento-setup-scripts/

追加:相互に依存するモジュールがある場合、複数のモジュールを一度にインストール/更新すると、最初にすべての通常のアップグレードスクリプトが実行され、次にすべてのデータアップグレードスクリプトが実行されることに注意してください。それぞれ、モジュールがロードされる順序、つまり依存関係に関して。


すでに両方の記事を読みましたが、実行順序については何もありません。あなたの答えは理にかなっていますが、これが本当の秩序であることを証拠で確認できますか?
ヴィック

2
また、参照用に次のURLを追加します。vinaikopp.com / 2014/11/03 / magento - setup - scriptsこのテーマについてこれまで読んだ中で最高の詳細な情報のようです。
リックバチンスキー

@VicはRickのリンクを参照してください。
JELLEJ

@RickBuczynskiすごい、素晴らしい記事!
JELLEJ

2
いや、それはすべて良いです。この分野での経験のレベルに応じて、3つのリソースすべてが役立ちます。私は私のポイントいくつかの他の時間:-P取得します
リックBuczynski

2

magentoはこの順序に従います

  1. インストール
  2. アップグレードスクリプトのインストール
  3. データスクリプト
  4. データアップグレードスクリプト

興味深いのは

最初のスクリプトでデータを挿入します(Webサイトを作成します)

2番目のスクリプトでそのデータを読み取ります(カテゴリはWebサイトを見つけます)

  1. magentoインストールスクリプトは1つのトランザクション内で実行されます
  2. magentoアップグレードスクリプトは他のトランザクションで実行されます
  3. デフォルトのmysqlトランザクション分離レベルREPEATABLE READ

楽しむ

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