Как настроить несколько баз данных в доктрине Symfony - PullRequest
1 голос
/ 29 сентября 2011

Я использую Symfony для моего проекта, где у меня есть две базы данных, но я знаю только, чтобы настроить Symfony для одной базы данных, как показано ниже кода database.yml

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

Итак, пожалуйста, помогите мне настроить две или более базы данных для доктрины Symfony.

1 Ответ

2 голосов
/ 29 сентября 2011

Структура 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, и вы должны очень хорошо подумать и протестировать, чтобы точно знать, что вы выполняете запросы направильное соединение.

...