Database Symfony2多个数据库,为每个表指定数据库

Database Symfony2多个数据库,为每个表指定数据库,database,symfony,connection,Database,Symfony,Connection,问题是我在Symfony中定义了2+个数据库。当我用 php app/console dotrine:schema:update --force 它使表成为默认数据库。我想指定该表属于哪个数据库。我怎么能这么做 我对实体使用yaml(yml)格式,例如: Test\ExampleBundle\Entity\TestTable: type: entity table: test_table id: id: type: integer

问题是我在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
更深入地查看文档的一节

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

根据文档,您可以将bundle绑定到实体管理器,但是这里有一个技巧介绍如何在同一个bundle中使用两个实体管理器

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

例如

    entity_managers:
        default:
            connection:       default
            mappings:
                MyBundle:
                    dir:      Path/To/EntityFolder1
        myManager:
            connection:       myConnection
            mappings:
                MyBundle:
                    dir:      Path/To/EntityFolder2
然后,您可以根据绑定到的连接将捆绑包实体放入正确的文件夹。

更深入地查看文档部分

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

根据文档,您可以将bundle绑定到实体管理器,但是这里有一个技巧介绍如何在同一个bundle中使用两个实体管理器

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

例如

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

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

文档中的这一点可能会有所帮助-文档中的这一点可能会有所帮助-我尝试了这一点,但您链接到的文档是1.2版本,我使用的是2.0,这不起作用。如果我有两个不同的数据库用于一个捆绑包如何?它必须知道哪个表属于哪个数据库。啊,谢谢,我更新了我的答案。我不认为您可以在一个捆绑包中使用两个实体管理器,否则您可以为您的实体使用单独的捆绑包。我更新了我的答案,只需尝试我添加的技巧,并让我知道它是否适合您?如果这种方法可以帮助你管理你的实体,那么既然我使用了两个数据库作为表,我能不能把表定义分开,这样我就可以这样做?我设法将所有表都放到另一个数据库中,但现在我必须将每个数据库的表定义分开。是否有任何预定义的方法来分隔它们?我尝试过这个,但是你链接到我的文档是1.2版本,我使用的是2.0,这不起作用。如果我有两个不同的数据库用于一个捆绑包,怎么样?它必须知道哪个表属于哪个数据库。啊,谢谢,我更新了我的答案。我不认为您可以在一个捆绑包中使用两个实体管理器,否则您可以为您的实体使用单独的捆绑包。我更新了我的答案,只需尝试我添加的技巧,并让我知道它是否适合您?如果这种方法可以帮助你管理你的实体,那么既然我使用了两个数据库作为表,我能不能把表定义分开,这样我就可以这样做?我设法将所有表都放到另一个数据库中,但现在我必须将每个数据库的表定义分开。是否有任何预定义的方法来分隔它们?