Database Symfony2多个数据库,为每个表指定数据库
问题是我在Symfony中定义了2+个数据库。当我用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
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,这不起作用。如果我有两个不同的数据库用于一个捆绑包,怎么样?它必须知道哪个表属于哪个数据库。啊,谢谢,我更新了我的答案。我不认为您可以在一个捆绑包中使用两个实体管理器,否则您可以为您的实体使用单独的捆绑包。我更新了我的答案,只需尝试我添加的技巧,并让我知道它是否适合您?如果这种方法可以帮助你管理你的实体,那么既然我使用了两个数据库作为表,我能不能把表定义分开,这样我就可以这样做?我设法将所有表都放到另一个数据库中,但现在我必须将每个数据库的表定义分开。是否有任何预定义的方法来分隔它们?