-ao- ramune blog

©2020 unio / GO2直営からふるラムネ
2020年09月06日

doctrine-migrations-bundle v2.x → v3.0

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_manageremの設定を行います。

                
                    doctrine:
                        orm:
                            default_entity_manager: hoge_em
                            # ...
                
            
                
                    doctrine_migrations:
                        # ...
                        em: hoge_em
                
            
プロフィール画像
なかのひと:unio

数十年前の牧歌的なインターネッツが好きだった、永遠のモラトリアム人。 ただ、モラトリアムしててもお金は増えないので、しゃかいの厳しさを斜め後ろから眺めつつほそぼそと生活しています。

Twitter GitHub
[広告]