0

问题是我在 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
4

1 回答 1

4

深入了解文档的如何使用多个实体管理器和连接部分。

Doctrine 为您提供了拥有多个连接的能力。您可以轻松添加实体管理器,根据实体所属的捆绑包将实体绑定到不同的预定义连接。

根据文档,您可以将捆绑包绑定到实体管理器,但这里是关于如何在同一个捆绑包中使用两个实体管理器的技巧,

如果您想将一个包中的实体绑定到不同的实体管理器,您可以添加一个“dir”属性来定义特定实体文件夹的路径。

例子,

    entity_managers:
        default:
            connection:       default
            mappings:
                MyBundle:
                    dir:      Path/To/EntityFolder1
        myManager:
            connection:       myConnection
            mappings:
                MyBundle:
                    dir:      Path/To/EntityFolder2

然后,您可以根据绑定的连接将捆绑实体放入正确的文件夹中。

于 2012-11-12T14:08:57.337 回答