如何在symfony学说中设置多数据库

时间:2011-09-29 10:00:36

标签: php symfony1 doctrine

我在我的项目中使用symfony,我有两个数据库, 但我知道只为单个数据库设置symfony,如下面的代码 database.yml的

all:doctrine:
class: sfDoctrineDatabase
param:
  dsn:      mysql:host=localhost;dbname=gapi
  username: root
  password: 

所以,请帮我设置两个或更多的symfony doctrine数据库。

1 个答案:

答案 0 :(得分:2)

databases.yml的结构是这样的:

all: # <-- Environment
  doctrine: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=gapi
      username: root
      password: 

所以如果你想添加一个额外的数据库连接(databases.yml specifies the connections, not the databases itself). You can copy the block from doctrine`,并给它一个新的名字。像这样:

all: # <-- Environment
  doctrine: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=gapi
      username: root
      password: 

  # Extra connection:
  connection2: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=database2
      username: root
      password: 

但请注意:使用多个连接需要对Symfony和Doctrine有很多了解,并且您已经考虑并测试非常好,以确保您在正确的连接上执行查询。