2012-08-09 58 views
1

雖然我們試圖將我們的系統升級到更新版本的CakePHP,但在數據庫之間切換更容易,但我目前必須讓1.1.x版本能夠在數據庫之間切換。CakePHP - 如何即時切換數據庫? (CakePHP 1.1.x)

我試過使用this post上顯示的相當簡單的方法,但是我無法完全正常工作。調試$connected對象確實會顯示我試圖保存的數據庫的所有信息,但是當我將某些內容保存到數據庫時,我仍然最終更改了原始數據庫而不是第二個數據庫。任何人都知道我可以用CakePHP 1.1切換數據庫的方法,或者在網站上發佈的方法有什麼問題?

回答

2

看到這個網址: -

http://insanityville.com/2010/04/how-to-switch-between-databases-in-cakephp-on-the-fly/

讀它

我敢肯定,一些我使用的功能是特定於1.2。 但你可以試試。我會給你一個我所做的基本概述。

我由componant,並且在初始化 方法componant內部..我這樣做: (所有的連接數據存儲在一個客戶機模型,即我與 loadModel加載)

 $newDb =& ConnectionManager::create('myconn_name', 
array('driver' => 'mysql' 
       ,'host' => $client->data['Client']['db_host'] 
       ,'login' => $client->data['Client']['db_login'] 
       ,'password' => $client->data['Client']['db_password'] 
       ,'database' => $client->data['Client']['db_name'] 
       ,'persistent' => false 

然後在我的app_model我設置

var $useDbConfig = 'myconn_name'; 

同樣,我不知道在所有的有多好,這將在1.1

+0

這母鹿工作實際上工作。您使用的功能在1.1 API中使用。我曾見過類似的解決方案,但是我們系統中的某些東西阻止了它的工作。如果其他人檢查此查找答案,並且如果由於缺少函數而導致代碼失敗,請轉至1.1 API文檔。所有的功能都在那裏,這成功地運作。 謝謝! – 2012-08-11 22:05:05