1

しばらくの間、プロジェクトで FOSUserBundle と FOSOAuthBundle を問題なく使用してきましたが、最近別の DB 接続と別のエンティティ マネージャーを追加したため、auto_mapping に依存できなくなりました。

両方のバンドルのマッピングをエンティティ マネージャーの 1 つに追加しましたが、すべてが正常に機能しているように見えました。

ただし、実行時にユーザーが正しいスキーマを生成しなくなったという問題が見つかりましたapp/console doctrine:schema:create。これは、マッピングの問題を示唆しています。FOSOAuthBundle からのクライアントが正常にマッピングされていることは注目に値します。

FOSUserBundle のマッピングが無視されているように見えますが、何が間違っているのかわかりません。

エンティティ マネージャのセットアップ:

orm:
    default_entity_manager: default
    auto_generate_proxy_classes: %kernel.debug%

    entity_managers:
        other:
            connection: other
            mappings:
                SteveMainBundle: ~
        default:
            connection: default
            mappings:
                SteveMainBundle: ~
                SteveWebBundle: ~
                FOSUserBundle: ~
                FOSOAuthServerBundle: ~

fos_user の設定:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Steve\MainBundle\Entity\User

何か案は?

4

3 に答える 3

0

FOSUserBundle を最新リリース (2.0) にアップグレードすることで、この問題を解決しました。この場合に何が起こったのか、私たちが使用していたバージョンのバグだったのかどうかはよくわかりません. さらにわかったらここに投稿します。

于 2013-09-18T17:19:45.590 に答える
0

カスタム エンティティ マネージャーを設定するには、

model_manager_name

オプション。ドキュメントを調べる

于 2014-12-05T22:07:30.683 に答える
0

考えられる解決策については、この質問を参照してください。

を追加することで、コマンドで使用する特定のエンティティ マネージャーを指定できますem="entitymanager_name"

app/console doctrine:schema:create --dump-sql em="other"
于 2013-09-18T11:54:57.833 に答える