我想建立一个用户可以登录注册的网站。对于用户管理,我使用 FOSUserbundle。现在我想为 FOSUserBundle 使用与其他捆绑包不同的数据库连接。我的 config.yml 文件如下所示:
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database1_driver%"
host: "%database1_host%"
port: "%database1_port%"
dbname: "§database1_name%"
user: "%database1_user%"
password: "%database1_password%"
charset: UTF8
user:
driver: "%database2_driver%"
host: "%database2_host%"
port: "%database2_port%"
dbname: "%database2_name%"
user: "%database2_user%"
password: "%database2_password%"
charset: UTF8
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
MyProjectMainBundle: ~
user:
connection: user
mappings:
MyProjectUserBundle: ~
当我尝试加载页面时出现错误MappingException: The class 'MyProject\UserBundle\Entity\User' was not found in the chain configured namespaces MyProject\MainBundle\Entity, FOS\UserBundle\Model
。
我完全遵循了 FOSUserBundle 的文档,如果我使用它就可以工作
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
在 config.yml 中。唯一的问题是,它只生成文档中新实体中定义的表格。只生成一个 id 字段,而不是像它应该生成的整个 fos_user 表。
我知道以前有人问过一些类似的问题,但我尝试使用那里的所有解决方案,但没有奏效。那么我该如何解决这个问题呢?甚至可能吗?我真的需要使用单独的数据库,因为我的项目将使用很多表,我不希望它变得太乱。