Symfony2/Doctrine2-将实体关联到某个连接



我在Symfony config.yml:中设置了两个MySQL连接

doctrine:
    dbal:
        default_connection: default
        connections:
            default: __VARIABLES
            dealer: __VARIABLES

我知道我可以通过以下方式从特定连接中检索对象:$this->get('doctrine')->getEntityManager('dealer');

我的问题是,是否有一种方法可以设置到某个实体的连接,因此doctrine:schema:update同步仅在设置连接的范围内完成?

是-您可以在实体经理部分指定实体经理的职责。您可以为此使用"dir"选项。您必须禁用自动映射选项,并告诉Doctrine哪些实体与哪个实体管理器相关。例如:

doctrine:
   dbal:
       (...)
   orm:
       auto_generate_proxy_classes: %kernel.debug%        
       default_entity_manager:   default
       entity_managers:
           default:
               connection:       default
               mappings:                    
                   CompanySomeBundle:
                       dir: Entity/BaseEntity/
            secondem:
                connection:      second_connection
                mappings:                 
                    CompanySomeBundle:
                       dir: Entity/AdditionalEntity/

在BaseEntity目录中的每个实体都属于"默认"em,而AdditionalEntity目录的这些实体属于"secondem"实体管理器。

相关内容

  • 没有找到相关文章

最新更新