1
Magento 2のアップグレード/セットアップスクリプトの順序をどのように制御しますか?
私はMagento 2のコードベースを調査していて、セットアップバージョン間でアップグレードセットアップクラスを実行する順序を制御する方法を理解しようとしています。まだ、行き詰まっています。掘り下げた限り、モジュール内のスキーマ/データのアップグレードの順序を制御する方法を見つけることができませんでした。 少しコンテキストを与えるために、モジュールをリリースするとします。残業はアップデートをリリースします。次のファイル構造があるとします。 Setup/InstallPostSchema.php Setup/CreateAuthorsTableSchema.php Setup/AddAuthorIdColumnToPostSchema.php この場合、私はSetup/CreateAuthorsTableSchema.php前に実行したいと思いSetup/AddAuthorIdColumnToPostSchema.phpます。 私の質問は、それをどのように/どのように扱うべきですか? Magento 1.xでは、ファイルの命名規則によってこれが処理さupgrade-1.0.0-1.1.0.phpれます。 LaravelやRailsなどのフレームワーク(および他のユーザーも確信している)では、タイムスタンプアプローチを使用しています。ただし、移行テーブルもあり、これまでに実行された各移行を確認できます。また、簡単にロールバックできます。 更新 Magento/Customerモジュール内で自分でバージョン管理を行う例を見つけました: public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '2.0.0.1') < 0) { // Changes here. } if (version_compare($context->getVersion(), '2.0.1', '<')) { // Changes here } $setup->endSetup(); }
7
magento2