【发布时间】:2018-08-30 12:21:00
【问题描述】:
我正在创建一个应用程序是symfony (4.1),我想在一个单独的数据库中单独进行身份管理。
然后我将 doctine 配置如下
doctrine:
dbal:
default_connection: default
connections:
default:
url: '%env(DATABASE_URL)%'
driver: 'pdo_mysql'
mapping_types:
enum: string
identity:
url: '%env(IDENTITY_DATABASE_URL)%'
driver: 'pdo_pgsql'
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
identity:
auto_mapping: true
connection: identity
mappings:
ACL:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity/Identity'
prefix: 'App\Entity\Identity'
在contoller 中,我想从identity 数据库中检索users。
有办法在用
$this->getDoctrine()->getRepository(User::class, 'identity')->findAll();
运行 php bin/console server:run 看来,以下代码使用 default 数据库,而不是 identity 数据库。
我是否错过了在 symfony 中启用分片的任何内容?
问候,
【问题讨论】:
-
可能是因为
orm:identity:connection的dbal连接应该是acl而不是identity(不存在)。 -
@gp_sflover 复制/粘贴错误,确实是身份
标签: mysql database postgresql symfony