Dbutils CodeIgniter не распознает новое соединение с базой данных - PullRequest
0 голосов
/ 26 сентября 2011

Восстанавливается ли класс утилит к базе данных, определенной в файле конфигурации базы данных, при его инициализации?

Следующий код возвращает базы данных из базы данных dev, а не prod:

$this->load->database('prod');
$this->load->dbutil();
print_r($this->dbutil->list_databases());

Файл конфигурации моей базы данных содержит:

$db['dev']['hostname'] = 'localhost';
$db['dev']['username'] = 'root';
$db['dev']['password'] = '';
$db['dev']['database'] = 'mydb';
...

$db['prod']['hostname'] = 'prodhost';
$db['prod']['username'] = 'username';
$db['prod']['password'] = 'password';
$db['prod']['database'] = 'myproddb';
...

edit 1: действительно, на dbutil, похоже, влияет переменная $ active_group в файле конфигурации базы данных. Как мне переопределить это для одной функции? Я думал, что это было целью $this->load->database('environment'); ... нет?

1 Ответ

2 голосов
/ 26 сентября 2011

Класс Utility использует базу данных, присвоенную $ this-> db, для выполнения своих функций.

Решением было присвоить результат $this->load->database('environment') $this->db:

$this->db = $this->load->database('environment', TRUE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...