我正准备在 symfony Doctrine 中开始一个项目,但我必须与多个数据库建立连接。其中之一是无法使用 ORM 映射的现有数据库 (SQL SERVER)。是否有可能将此数据库与另一个未在 Doctrine 中映射的数据库连接并正常与 Controller 一起工作?
最佳答案
我使用 doctrine2 orm 映射开发了一个多数据库 sf2 应用程序。
我们使用 intellectsoft-uk/MssqlBundle
我们的配置是:
配置.yml
# Doctrine Configuration
doctrine:
dbal:
default_connection: acme_mysql
connections:
acme_mysql:
host: %acme_mysql_database_host%
port: %acme_mysql_database_port%
dbname: %acme_mysql_database_name%
user: %acme_mysql_database_user%
password: %acme_mysql_database_password%
charset: UTF8
acme_slqsrv:
driver: sqlsrv
driver_class: \Realestate\MssqlBundle\Driver\PDODblib\Driver
host: %acme_slqsrv%
port: %acme_slqsrv%
dbname: %acme_slqsrv%
user: %acme_slqsrv%
password: %acme_slqsrv%
charset: UTF8
orm: #optional if you want to map some entity in doctrine2
auto_generate_proxy_classes: %kernel.debug%
default_entity_manager: acme_mysql
entity_managers:
em_mysql:
connection: acme_mysql
mappings:
AcmeMysqlBundle: ~
em_sqlsrv:
connection: acme_sqlsrv
mappings:
AcmeSqlSrvBundle: ~
此配置允许您在 Controller /服务中获取连接实例并将其用于访问数据库并执行存储过程等......
希望对你有帮助
关于php - 与 db 的 Doctrine 联系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914146/