问题是我在Symfony中定义了2个+数据库。当我用
更新表模式时php app/console dotrine:schema:update --force
它使表成为默认数据库。我想指定表所属的数据库。我怎么能这样做?
我正在为实体使用yaml(yml)格式,例如:
Test\ExampleBundle\Entity\TestTable:
type: entity
table: test_table
id:
id:
type: integer
generator:
strategy: AUTO
fields:
name:
type: string
length: 255
sound:
type: smallint
答案 0 :(得分:4)
深入了解文档的How to work with Multiple Entity Managers and Connections部分。
Doctrine为您提供了多个连接的能力。您可以轻松添加实体管理器,以根据它们所属的包将实体绑定到不同的预定义连接。
根据文档,您可以将捆绑包绑定到实体管理器,但这里有一个技巧关于如何在同一个捆绑包中使用两个实体管理器,
如果要将实体从一个包绑定到不同的实体管理器,可以添加“dir”属性来定义特定实体文件夹的路径。
实施例,
entity_managers:
default:
connection: default
mappings:
MyBundle:
dir: Path/To/EntityFolder1
myManager:
connection: myConnection
mappings:
MyBundle:
dir: Path/To/EntityFolder2
然后,您可以根据绑定的连接将捆绑实体放入正确的文件夹中。