假设我有很多(50+)存储库配置,就像这样开始
// in src/Foo/BarBundle/Resources/config/doctrine/Baz.orm.yml
Foo\BarBundle\Entity\Baz:
type: entity
repositoryClass: Foo\BarBundle\Entity\BazRepository
table: foo.bar.baz
我正在使用多个数据库,它们大多是彼此的克隆
// in app/config/config.yml
doctrine:
dbal:
default_connection: default
connections:
default:
dbname: foo
alpha:
dbname: alpha
bravo:
dbname: bravo
charlie:
dbname: charlie
有没有办法让我改变存储库配置处理表名的方式?我尝试在其中注入app参数,但它没有完全奏效。
// in app/config/parameters.yml
parameters:
database_active: charlie
// in src/Foo/BarBundle/Resources/config/doctrine/Baz.orm.yml
Foo\BarBundle\Entity\Baz:
table: %database_active%.bar.baz
[note] 我正在使用MS SQL Server,但我认为同样的问题可以应用于PostgreSQL数据库