代码之家  ›  专栏  ›  技术社区  ›  ekit0

Symfony2多个数据库配置/连接和实体管理器

  •  0
  • ekit0  · 技术社区  · 12 年前

    我想将另一个数据库连接到我的项目,并将其链接到我的捆绑包。 以下是我对数据库连接的配置:

    # 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: ~
    

    第二个数据库(论坛)已经存在,我检查连接信息。 当我访问网站时,我会出现以下错误: 无法识别的字段:usernameCanonical

    为了生成反映射,我执行了以下命令:

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

    但这个命令是无限的,它不会被执行。为什么?我错过什么了吗?

    1 回复  |  直到 12 年前
        1
  •  0
  •   Josh    12 年前

    从错误消息来看,您可能正在使用FOSUserBundle,您必须告诉它要使用哪个实体管理器,就像您自己的Bundle一样。您的“默认”实体管理器配置应如下所示:

            default:
                connection:       default
                mappings:
                    ProjectBackBundle: ~
                    ProjectFrontBundle: ~
                    ProjectUsersBundle: ~
                    FOSUserBundle: ~