我在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"实体管理器。