Работа с несколькими базами данных в Drupal

Аватар пользователя artur.baranok
Опубликовано пн, 07/06/2015 - 16:22 пользователем artur.baranok
Форумы: 

Drupal может легко и быстро подключаться к разным базам данных. Для этого нужно определить параметры соединения с базами данных в файле settings.php, отредактировав строчку $db_url. По умолчанию она выглядит так:
$db_url = 'mysql://username:password@localhost/databasename';

Чтобы разрешить соединения с разными базами данных, запись в файле settings.php должна выглядеть подобным образом:
$db_url['default'] = 'mysql://username:password@localhost/databasename';
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
$db_url['db3'] = 'mysql://user:pwd@localhost/yetanotherdb';

Отметьте, что база данных используемая по умолчанию, должна быть помечена как default. Теперь, чтобы обратиться к другой базе данных, сначала сделайте её активной, выполните запрос и вернитесь в режим работы с базой используемой по умолчанию:
db_set_active('mydb');
db_query('SELECT * FROM table_in_anotherdb');
db_set_active('default');

После выполнения запроса, не забывайте делать переключение на базу с которой Drupal работает по умолчанию, иначе вы будете получать ошибки и сообщения о ненайденных таблицах и невозможности выполнять функции.