1

我已经在项目中使用 FOSUserBundle 和 FOSOAuthBundle 一段时间了,但我最近添加了另一个数据库连接和另一个实体管理器,因此不能再依赖 auto_mapping。

我已将两个捆绑包的映射添加到其中一个实体管理器中,一切似乎都正常。

但是,我发现用户在运行时不再生成正确的模式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

请参阅此问题以获取可能的解决方案。

您可以通过添加来指定要与命令一起使用的特定实体管理器em="entitymanager_name"

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

您可以通过以下方式设置自定义实体管理器

model_manager_name

选项。查看文档

于 2014-12-05T22:07:30.683 回答