尝试连接两个数据库时出现Symfony错误

I'm trying to connect two databases but when I make a php bin/console doctrine:schema:update --force It return

No Metadata Classes to process.

Here is the doctrine configuration in config.yml

doctrine:
    dbal:
        default_connection: main
        connections:
            main:
                driver:   pdo_pgsql
                host:     '%database_host%'
                port:     '%database_port%'
                dbname:   '%database_name%'
                user:     '%database_user%'
                password: '%database_password%'
                charset:  UTF8
            rupe:
                driver:   pdo_pgsql
                host:     '%database_host2%'
                port:     '%database_port2%'
                dbname:   '%database_name2%'
                user:     '%database_user2%'
                password: '%database_password2%'
                charset:  UTF8

    orm:
        default_entity_manager: main
        entity_managers:
            main:
                connection: main
                mappings:
                    Main:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/AppBundle/Entity/Main'
                        prefix: 'AppBundle\\Entity\\Main'
                        alias: Main
            login:
                connection: main
                mappings:
                    LoginBundle:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/LoginBundle/Entity'
                        prefix: 'LoginBundle\\Entity'
                        alias: LoginBundle
            rupe:
                connection: rupe
                mappings:
                    Rupe:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/AppBundle/Entity/Rupe'
                        prefix: 'AppBundle\\Entity\\Rupe'
                        alias: Rupe

I got a solution on Symfony 3.4 version

doctrine:
    dbal:
        default_connection: main
        connections:
            main:
                driver:   pdo_pgsql
                host:     '%database_host%'
                port:     '%database_port%'
                dbname:   '%database_name%'
                user:     '%database_user%'
                password: '%database_password%'
                charset:  UTF8
            rupe:
                driver:   pdo_pgsql
                host:     '%database_host2%'
                port:     '%database_port2%'
                dbname:   '%database_name2%'
                user:     '%database_user2%'
                password: '%database_password2%'
                charset:  UTF8

    orm:
        default_entity_manager: main
        entity_managers:
            main:
                connection: main
                mappings:
                    AppBundle:  ~
                    LoginBundle: ~
            rupe:
                connection: rupe
                mappings:
                    RupeBundle: ~

Hope it helps someone else!

Once you have multiple Entity Managers you have to run the command once per Entity Manager:

php bin/console doctrine:schema:update --force --em default
php bin/console doctrine:schema:update --force --em login
php bin/console doctrine:schema:update --force --em rupe

The same will be required for when you validate your schema.

I recommend you to change the connections names once you have multiple of them.

doctrine:
dbal:
    default_connection: main
    connections:
        main:
            driver:   pdo_pgsql
            host:     '%database_host%'
            port:     '%database_port%'
            dbname:   '%database_name%'
            user:     '%database_user%'
            password: '%database_password%'
            charset:  UTF8
        rupe:
            driver:   pdo_pgsql
            host:     '%database_host2%'
            port:     '%database_port2%'
            dbname:   '%database_name2%'
            user:     '%database_user2%'
            password: '%database_password2%'
            charset:  UTF8

I would also give descriptive names to the Entity Managers as well it will be much clearer when you inject them on the different services.