Подключение к нескольким базам данных на разных серверах - PullRequest
0 голосов
/ 23 ноября 2018

Я уже некоторое время использую Symfony с Doctrine и до сих пор был в состоянии настроить Doctrine для подключения к нескольким базам данных на одном сервере (IP) через config.yml.

Но сейчасУ меня другой сценарий.

Я работаю над делом, в котором несколько проектов выполняются на разных IP-адресах.Я могу подключиться к базе данных, которая работает локально на компьютере, на котором также размещено основное приложение, но теперь мне нужно подключиться к другой базе данных, которая размещена на другом сервере.Итак, чтобы выложить этот случай:

  • Сервер Альфа.IP: 193.15.15.15, имя базы данных: "Foo"
  • Сервер бета.IP: 193.15.15.16, имя базы данных: "Bar"

Я определил пользователя и пароль для каждой из этих баз данных в моем файле parameters.yml, так что это не важно.Я просто хотел бы знать, возможно ли подключиться к (локально размещенной) базе данных на сервере Beta, пока приложение находится на сервере Alpha.

Заранее спасибо!

1 Ответ

0 голосов
/ 23 ноября 2018

Вы должны настроить несколько менеджеров сущностей и соединенийВ файле config.yml:

doctrine:
     dbal:
         default_connection: default
         connections:
            default:
                driver:   pdo_mysql
                host:     '193.15.15.15'
                port:     '%port_parameter_for_foo%'
                dbname:   'Foo'
                user:     '%user_parameter_for_foo%'
                password: '%pass_parameter_for_foo%'
                charset:  UTF8
            customer:
                driver:   pdo_mysql
                host:     '193.15.15.16'
                port:     '%port_parameter_for_bar%'
                dbname:   'Bar'
                user:     '%user_parameter_for_bar%'
                password: '%pass_parameter_for_bar%'
                charset:  UTF8

    orm:
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                mappings:
                    BundleOnAlpha:  ~
            customer:
                connection: beta
                mappings:
                    BundleOnBeta: ~

Документ более полный: https://symfony.com/doc/3.4/doctrine/multiple_entity_managers.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...