Drupal: Подключение и использование нескольких баз

Здравствуйте.

Сегодня я коснусь вопроса подключения нескольких баз данных в системе Drupal 7. Почему именно Drupal 7? Да потому, что в ней стало очень просто это делать, встроенными средствами системы. То есть мы можем подключить в системе одновременно несколько баз и использовать их в процессе работы. Один из примеров такой работы - это модуль  DBTNG, который позволяет мигрировать структуру и данные между различными базами данных (к примеру с SQLite на MySQL). Также возможно использовать базы данных, созданные не для CMS Drupal. В этой статье мы рассмотрим как подключить две базы, а также как с ними работать.

Подключаем две базы

Реадктируем файл settings.php в папке sites/default

<?php
$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'drupal1',
      'username' => 'root',
      'password' => '<ваш-пароль>',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),'custom' =>
  array (
    'default' =>
    array (
      'database' => 'drupal2',
      'username' => 'root',
      'password' => '<ваш-пароль>',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    )
  )
);
?>


Используем базы в своем коде

Используем подключенные базы в коде своего модуля или темы. В процессе работы Drupal использует конфигурацию default. Таким образом, если нам нужно использовать базу, подключенную вручную, мы делаем активной требуемую конфигурацию и выполняем нужные операции.

<?php
db_set_active('custom');
$result = db_query("SELECT nid, title, created FROM {node} ORDER BY created ASC LIMIT 0, 10");
// $result содержит данные запроса к базе данных, подключенной вручную
db_set_active('default');
$result = db_query("SELECT nid, title, created FROM {node} ORDER BY created ASC LIMIT 0, 10");
// $result содержит данные запроса к основной базе drupal 7
?>

Теперь мы сможем подключать базы данных других систем (Wordpress, Joomla! и т.д.)

 

Тэги: 

There is 1 Comment

Спасибо . Полчаса бился с этим settings.php .

Страницы

Добавить комментарий

You must have Javascript enabled to use this form.

Статьи по теме:

  •  
  • 1 из 10