我正在研究現有分片數據庫系統上的Zend + Doctrine性能。大多數應用程序模型連接到主數據庫(db1),而有些模型需要動態連接到不同的數據庫(db2,db3等)。在Doctrine模型中切換db連接
在連接到不同數據庫的模型中,我需要一個簡單的方法爲它切換連接。 Doctrine_Record中是否有任何方法可以重寫以提供新的連接實例?
我正在研究現有分片數據庫系統上的Zend + Doctrine性能。大多數應用程序模型連接到主數據庫(db1),而有些模型需要動態連接到不同的數據庫(db2,db3等)。在Doctrine模型中切換db連接
在連接到不同數據庫的模型中,我需要一個簡單的方法爲它切換連接。 Doctrine_Record中是否有任何方法可以重寫以提供新的連接實例?
無需重寫任何東西。你簡單,你需要(每默認情況下,你應該有一個具有同樣一個名字一個連接,現在您有n個不同名稱的連接創造儘可能多的連接。
$conn1 = Doctrine_Manager::connection('mysql://username:[email protected]/database1', 'connection1');
$conn2 = Doctrine_Manager::connection('mysql://username:[email protected]/database2', 'connection2');
不同的模型可以綁定到不同的連接我總是把他們的基本型號。
Doctrine_Manager::connection()->bindComponent('Your_Model', 'connection1');
或者,您可以使用連接管理器的方法
setCurrentConnection('connection1')
謝謝你解釋它。 – Kevin 2011-01-26 09:57:01