Созонов Алексей

Веб-разработчик

Работа с несколькими базами drupal

09.08.2015

В drupal можно работать с несколькими базами данных. Для этого достаточно в файле settings.php добавить еще один массив с настройками:

<?php
$databases = array();
$databases['default']['default'] = array(
  // Основная база данных сайта
);
$databases['ANOTHER_DB']['default'] = array(
  // Дополнительная база
);

Чтобы переключится на другую базу, пишем:

<?php
// Подключаем другую бд
db_set_active('ANOTHER_DB');
// Пишем тут свой запрос
// Возвращаемся к дефолтной бд
db_set_active();

Также можно подключить базу в любом месте, где это нужно:

<?php
  $other_database = array(
      'database' => 'databasename',
      'username' => 'username',
      'password' => 'password',
      'host' => 'localhost',
      'driver' => 'mysql',
  );

  Database::addConnectionInfo('YourDatabaseKey', 'default', $other_database); // YourDatabaseKey - любой уникальный ключ
  db_set_active('YourDatabaseKey');
  // Пишем тут свой запрос
  db_set_active();
  drupal_set_message(t('The queries have been made.'));
#Drupal