2011-09-25 49 views
0

Utility Class在初始化時是否重新連接到數據庫配置文件中定義的數據庫?CodeIgniter的dbutils無法識別新的數據庫連接

下面的代碼是從開發數據庫返回的數據庫,而不是督促:

$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'; 
... 

編輯1:的確,dbutil似乎影響通過$ active_group變量在數據庫配置文件中。我如何覆蓋這個單一功能?我認爲這是$this->load->database('environment');的目的...不是?

回答

2

Utility類使用分配給$ this-> db的數據庫來執行其功能。

的解決方案是分配的$this->load->database('environment')$this->db結果:

$this->db = $this->load->database('environment', TRUE);