Как определить на Drupal внешнюю базу данных, указывающую схему

#php #drupal #drupal-7 #settings

#php #drupal #drupal-7 #Настройки

Вопрос:

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

  $databases['conservation']['default'] = array(
     'database' => 'conservation',
     'schema' => 'projects_test1',
      'username' => 'xxxxxxxxxxx',
      'password' => 'xxx',
      'host' => 'xxx.xxx.xxx',
      'port' => '5432',
      'driver' => 'pgsql',
      'prefix' => array(
     'default'   => 'projects_test1.',
     'users'     => 'shared.',
     'sessions'  => 'shared.',
     'role'      => 'shared.',
     'authmap'   => 'shared.',
   )

);
  

Я немного погуглил, но пока не нашел никого, кто пытался бы это сделать.
Спасибо
Лука

Ответ №1:

Вы можете попробовать следующий код для подключения вашего сайта Drupal к внешней базе данных:

    $databases['conservation']['default'] = array(
     'database' => 'conservation',
     'username' => 'xxxxxxxxxxx',
     'password' => 'xxx',
     'host' => 'xxx.xxx.xxx',
     'port' => '5432',
     'driver' => 'pgsql',
     'prefix' => array(
       'default'   => 'projects_test1.',
       'users'     => 'shared.',
       'sessions'  => 'shared.',
       'role'      => 'shared.',
       'authmap'   => 'shared.',
     )    
  );
  

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

 <?php
db_set_active('your_other_db');
?>
  

Когда вы закончите, вы должны закрыть его и вернуться к подключению к базе данных по умолчанию, чтобы Drupal мог получить доступ к его данным

 <?php
db_set_active();
?>
  

Комментарии:

1. Я не хочу создавать модуль, но я просто хочу использовать «модуль схемы, чтобы иметь возможность визуализировать данные с помощью модуля таблиц данных.

2. Ах! вы можете попробовать схемы и таблицы данных, чтобы иметь возможность создавать представления внешней визуализации данных в drupal 7. Надеюсь, это поможет 🙂