我有一个使用 symfony 4 的多数据库项目,我想在一个名为 ex 的文件夹中迁移 db1:db1Migrations,对于 db2Migrations 也是如此。
我对这个主题做了一些研究,但我发现的只是关于 symfony2,所以我不知道如何在 symfony 4 上练习,我是 symfony 的新手:)
如果有人可以向我解释它是如何工作的,我将不胜感激!
我的教义.yml
orm:
default_entity_manager: main
entity_managers:
main:
connection: main
mappings:
Main:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity/Main'
prefix: 'App\Entity\Main'
alias: Main
dossier:
connection: dossier
mappings:
Dossier:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity/Dossier'
prefix: 'App\Entity\Dossier'
alias: Dossier
如果您使用 symfony 的 DoctrineMigrationBundle:文档尝试通过控制台创建迁移:
php bin/console doctrine:migrations:migrate --em=customer
而不是
php bin/console doctrine:migrations:migrate
编辑:我仍然认为这是正确的答案。如果您使用控制台命令:
php bin/console doctrine:migrations:migrate --em=dossier
它将使用您的 ORM 配置。按照此处的文档只是为了确保您在doctrine_migrations.yaml
中拥有正确的配置doctrine_migrations:
# List of namespace/path pairs to search for migrations, at least one required
migrations_paths:
'App\Migrations': '%kernel.project_dir%/src/App'
'AnotherApp\Migrations': '/path/to/other/migrations'
'SomeBundle\Migrations': '@SomeBundle/Migrations'