如何在Symfony2中使用Doctrine2创建2个连接(mysql和postgresql)
我是Symfony2的新手。我的问题很简单。 我会在一个包中使用两个连接到不同主机和驱动程序上的DB如何在Symfony2中使用Doctrine2创建2个连接(mysql和postgresql),symfony,doctrine-orm,Symfony,Doctrine Orm,我是Symfony2的新手。我的问题很简单。 我会在一个包中使用两个连接到不同主机和驱动程序上的DB 你能帮我做这个吗?你可以做如下事情: doctrine: dbal: default_connection: alpha connections: alpha: driver: pdo_mysql host: localhost
你能帮我做这个吗?你可以做如下事情:
doctrine:
dbal:
default_connection: alpha
connections:
alpha:
driver: pdo_mysql
host: localhost
dbname: alpha
user: root
charset: UTF8
beta:
driver: pdo_pgsql
host: localhost
dbname: beta
user: root
charset: UTF8
orm:
auto_generate_proxy_classes: %kernel.debug%
entity_managers:
alpha:
connection: alpha
beta:
connection: beta
您知道,我们在dbal
部分声明了两个连接,在orm
部分声明了两个实体管理器
之后,您可以使用以下两种方法:
$emAlpha = $this->getDoctrine()->getEntityManager('alpha');
$emBeta = $this->getDoctrine()->getEntityManager('beta');
由于alpha
one被定义为默认值,您可以在不指定其名称的情况下访问它:
$emAlpha = $this->getDoctrine()->getEntityManager();
谢谢但如果我只在读取模式下使用某些数据库,那么实体类中的setter方法是必须使用的?我需要为现有数据库(在只读模式下)指定实体类中的字段类型吗?是的,因为条令需要这些信息来正确地定义实体。。。