0

別のデータベースを自分のプロジェクトに接続し、それを自分のバンドルにリンクしたいと考えています。データベース接続の私の構成があります:

# Doctrine Configuration in app/config/config.yml
doctrine:
    dbal:
        default_connection:   default
        connections:
            default:
                driver:   %database_driver%
                host:     %database_host%
                port:     %database_port%
                dbname:   %database_name%
                user:     %database_user%
                password: %database_password%
                charset:  UTF8
            forum:
                driver:   %database_driver2%
                host:     %database_host2%
                port:     %database_port2%
                dbname:   %database_name2%
                user:     %database_user2%
                password: %database_password2%
                charset:  UTF8
    orm:
        default_entity_manager:   default
        entity_managers:
            default:
                connection:       default
                mappings:
                    ProjectBackBundle: ~
                    ProjectFrontBundle: ~
                    ProjectUsersBundle: ~
            forum:
                connection:       forum
                mappings:
                    ProjectForumBundle: ~

2 つ目のデータベース (フォーラム) は既に存在し、接続情報を確認します。Web サイトにアクセスすると、次のエラーが表示されます: 認識されないフィールド: usernameCanonical

de mapping を生成するために実行するコマンドがあります。

php app/consolde doctrine:mapping:convert xml src/Project/ForumBundle/Resources/config/doctrine/metadata/orm --from-database --force --em="forum"

ただし、このコマンドは無限であり、実行されません。なんで ?私は何か見落としてますか ?

4

1 に答える 1

0

エラー メッセージから、FOSUserBundle を使用している可能性が高く、独自のバンドルと同様に、使用するエンティティ マネージャーを指定する必要があります。「デフォルト」のエンティティ マネージャーの構成は次のようになります。

        default:
            connection:       default
            mappings:
                ProjectBackBundle: ~
                ProjectFrontBundle: ~
                ProjectUsersBundle: ~
                FOSUserBundle: ~
于 2013-09-30T10:33:21.593 に答える