These are chat archives for dru-io/Drupal

27th
Aug 2016
alexd73
@alexd73
Aug 27 2016 08:50
Привет! Подскажите, как правильно в D7 взять данные из другой базы (не друпал)?
Делаю так.
function appozitiv_get_testimonial() {
//  База данных настраивается в settings.php
//$databases['appozitiv']['default'] = array(
//    'database' => 'del_appozitiv',
//    'username' => '', // assuming this is necessary
//    'password' => '', // assuming this is necessary
//    'host' => 'localhost', // assumes localhost
//    'driver' => 'mysql', // replace with your database driver
//);

  db_set_active('appozitiv');
  $comments = db_select('comments', 'c')
    ->fields('c', array('id', 'text'))
    ->execute()
    ->fetchAll();
  dpm($comments);
  db_set_active();
}
получаю ошибку
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'del_appozitiv.variable' doesn't exist: SELECT 1 AS expression FROM {variable} variable WHERE ( (name = :db_condition_placeholder_0) ); Array ( [:db_condition_placeholder_0] => cron_last ) in variable_set() (line 991 of includes/bootstrap.inc).
Alexandr.Poddubsky
@AlexandrPoddubsky
Aug 27 2016 10:30
@alexd73 а комменты вам зачем?
Ivan
@Punk-UnDeaD
Aug 27 2016 10:35
А база то настроена в сеттингс пхп?
alexd73
@alexd73
Aug 27 2016 12:56
@AlexandrPoddubsky @Punk-UnDeaD Это просто отдельное приложение с отзывами (не имеющее ни чего общего с дру) и их надо переделать в типы материалов друпал
Alexandr.Poddubsky
@AlexandrPoddubsky
Aug 27 2016 13:12
ну так а в чем проблема то перенести в ноды?
Alexandr.Poddubsky
@AlexandrPoddubsky
Aug 27 2016 14:32
This message was deleted
Raman Starshykh
@dashiwa
Aug 27 2016 15:12
Экспорт в цсв или подобный формат.Так будет проще
alexd73
@alexd73
Aug 27 2016 15:25

@AlexandrPoddubsky

ну так а в чем проблема то перенести в ноды?

Проблема подсоединится к базе.

https://www.drupal.org/node/18429

По этому мануалу и делал.

еще вот http://xandeadx.ru/blog/drupal/152 но для 6-ки
alexd73
@alexd73
Aug 27 2016 15:30
Или dynamic query не работает в таком случае?
alexd73
@alexd73
Aug 27 2016 15:58
Или этот способ только для друпал базы? использовать обычный mysql_connect?
Alexandr.Poddubsky
@AlexandrPoddubsky
Aug 27 2016 17:07
@alexd73 ну так в сеттинге пропишите все
для начала и используйте db_set_active('mydb');
alexd73
@alexd73
Aug 27 2016 18:03
@AlexandrPoddubsky это все настроено. Просто надо было drupal_static_reset(); сделать перед переключением на основную базу.
function appozitiv_get_testimonial() {
//  База данных настраивается в settings.php
  db_set_active('appozitiv');
  $comments = db_select('comments', 'c')
    ->fields('c', array('id', 'text'))
    ->execute()
    ->fetchAll();
  dpm($comments);
  drupal_static_reset();
  db_set_active();
}