【问题标题】:Mapping with multiple databases in Doctrine在 Doctrine 中与多个数据库进行映射
【发布时间】:2013-01-21 21:28:55
【问题描述】:

我正在尝试设置我的 symfony 以使用两个数据库连接。问题是 Symfony 不会将实体映射到正确的 EntityManager。所以执行一个查询,我必须告诉 Symfony 它应该使用哪个管理器。

我的配置:

# Doctrine Configuration
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

        lookup:
          driver:   "%database_driver%"
          host:     "%database_host%"
          port:     "%database_port%"
          dbname:   "Lookup"
          user:     "%database_user%"
          password: "%database_password%"
          charset:  UTF8

  orm:
    auto_generate_proxy_classes: "%kernel.debug%"

    default_entity_manager: default
    entity_managers:
      default:
        connection: default
          mappings:
            MbMyAppBundle: ~

      mvibes:
        mappings:
          MbLookupBundle: ~
        connection: mvibes

所以,要从我的 Lookup 中查询,我必须这样做:$this->getDoctrine()->getRepository('MbLookupBundle:Country', 'lookup');

相反,我希望我可以省略第二个参数。这样,我的捆绑包将是独立的。项目经理可以决定他将在他的项目中实现什么数据库配置。他只需要确保映射是正确的。

这是如何工作的?如果这不可能,映射用于什么?

【问题讨论】:

  • 首先将第二个连接重命名为“mvibes”而不是“lookup”
  • 抱歉,是的,我稍微编辑了配置以使配置更通用。我确实有一个连接“mvibes”。
  • 请编辑您的问题以使其更具可读性,并帮助我们为您提供帮助;)

标签: symfony doctrine


【解决方案1】:

你在连接命名上有错误:

# Doctrine Configuration
doctrine:
  dbal:
    default_connection: default
      connections:
        default:
          # ...

        mvibes:   #This is the name of the connection
          # ...

  orm:
    auto_generate_proxy_classes: "%kernel.debug%"

    default_entity_manager: default
    entity_managers:
      default:
        connection: default
        mappings:
          MbMyAppBundle: ~

      mvibes:
        mappings:
          MbLookupBundle: ~
        connection: mvibes #must refre to a connection's name defined above

官方文档:http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html 我写的一篇博文:http://blog.alterphp.com/2011/10/configuration-trick-for-multiple-entity.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2012-11-30
    • 2017-07-07
    • 2017-10-25
    • 2016-01-26
    • 2015-08-17
    • 2012-10-03
    相关资源
    最近更新 更多