たとえば、私のモジュールにセットアップスクリプトがない場合setup_version
、module.xml
ファイル内のタグを無視できますか。
m1に自動的にインストールされるモジュールでは、最初にエラーがスローされます(セットアップアップグレードコマンドを実行しない場合)。セットアップアップグレードを手動で実行する必要があるのはなぜですか?
どのようなシナリオであるschema_version
とdata_version
違うのでしょうか?
setup_moduleテーブルのほとんどのレコードに同じ値が含まれていることがわかりました。
1
パフォーマンスと安定性のために、自動アップグレードが削除されました。すべてのリクエストのすべてのモジュールバージョンをチェックして比較することは、本番環境では無意味なオーバーヘッドです。データベースのアップグレードは、アプリケーション自体ではなく、開発者が完全に制御する必要があるアクションの一種です。
—
V Korotun 2016年
M2では、「\ Magento \ Framework \ Setup \ UpgradeDataInterface」と「\ Magento \ Framework \ Setup \ UpgradeSchemaInterface」という2つの対応するインターフェースを実装することで、2種類のデータベース変更を行うことができます。したがって、データベーススキーマを変更せずにデータベースデータをアップグレードできます。それが、それらのバージョンが自分の人生を生きている理由です。
—
Vコロトゥン