doctrine-migrations-bundle v2 のアップグレード
Symfony5.0から5.1へアップグレードを行ったときに発生したエラーの対応メモです。
doctrine-migrations-bundleがv2系からv3系なったことによるエラーです。
doctrine_migrationsの変更
v3系からdoctrine_migrationsの仕様が変わるため、下記のエラーが発生します。
Unrecognized options "dir_name, namespace" under "doctrine_migrations". Available options are "all_or_nothing", "check_database_platform", "connection", "custom_template", "em", "factories", "migrat
ions", "migrations_paths", "organize_migrations", "services", "storage".
本家UPGRADE.md のBefore/Afterを参考に、設定ファイルを書き換えます。
doctrine_migrationsの書き換え例
doctrine_migrations:
- dir_name: '%kernel.project_dir%/src/Migrations'
- namespace: DoctrineMigrations
+ migrations_paths:
+ DoctrineMigrations: '%kernel.project_dir%/src/Migrations'
doctrine_migrationsのem設定
defaultという名前は使わずEntityManagerの定義を行っている場合、下記のエラーが発生します。
The service "doctrine.migrations.dependency_factory" has a dependency on a non-existent service "doctrine.dbal.default_connection".
下記のように、default_entity_managerとemの設定を行います。
doctrine:
orm:
default_entity_manager: hoge_em
# ...
doctrine_migrations:
# ...
em: hoge_em