Php 使用symfony4和doctrine设置多个数据库时,如何修复在两个数据库上运行的迁移

Php 使用symfony4和doctrine设置多个数据库时,如何修复在两个数据库上运行的迁移,php,symfony,doctrine,yaml,symfony-4.2,Php,Symfony,Doctrine,Yaml,Symfony 4.2,我正在尝试为symfony 4.2项目设置第二个数据库。在我运行迁移之前,一切似乎都很正常,所有迁移都在给定的连接上执行,而不是只在创建连接时执行迁移 关于此,my doctrine.yaml如下所示: doctrine: dbal: default_connection: default connections: default: driver: 'pdo_mysql'

我正在尝试为symfony 4.2项目设置第二个数据库。在我运行迁移之前,一切似乎都很正常,所有迁移都在给定的连接上执行,而不是只在创建连接时执行迁移

关于此,my doctrine.yaml如下所示:

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver: 'pdo_mysql'
                server_version: '5.7'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(DATABASE_URL)%'
            logging:
                driver: 'pdo_mysql'
                server_version: '5.7'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(DATABASE_URL_LOG)%'
    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: true
                mappings:
                    App:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
                        alias: App
            logging:
                connection: logging
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: false
                mappings:
                    Log:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Log'
                        prefix: 'App\Log'
                        alias: Log
php bin/console doctrine:migrations:diff --em=log
php bin/console doctrine:migrations:migrate --em=log
现在,通过此配置,我可以使用--em=log/default参数运行迁移命令,如下所示:

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver: 'pdo_mysql'
                server_version: '5.7'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(DATABASE_URL)%'
            logging:
                driver: 'pdo_mysql'
                server_version: '5.7'
                charset: utf8mb4
                default_table_options:
                    charset: utf8mb4
                    collate: utf8mb4_unicode_ci
                url: '%env(DATABASE_URL_LOG)%'
    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: true
                mappings:
                    App:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Entity'
                        prefix: 'App\Entity'
                        alias: App
            logging:
                connection: logging
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: false
                mappings:
                    Log:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/Log'
                        prefix: 'App\Log'
                        alias: Log
php bin/console doctrine:migrations:diff --em=log
php bin/console doctrine:migrations:migrate --em=log
您将得到预期的结果:当我添加--em=Log时,它只为我在src/Log创建的新实体创建一个新的迁移

这是新实体: