#php #symfony1 #doctrine
#php #symfony1 #доктрина
Вопрос:
я использую symfony для своего проекта, где у меня есть две базы данных, но я знаю только, как настроить symfony для одной базы данных, как показано ниже code database.yml
all:doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=gapi
username: root
password:
итак, пожалуйста, помогите мне настроить две или более базы данных для symfony doctrine.
Ответ №1:
Структура 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` on и присвоить ему новое имя. Что-то вроде этого:
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, и вы должны очень хорошо подумать и протестировать, чтобы быть уверенным, что вы выполняете запросы по правильному соединению.
Комментарии:
1. спасибо за ответ, но теперь, как создать schema.yml для конкретной базы данных. пожалуйста, помогите
2. Вы можете указать соединение в разделе параметров таблицы вашего yml.