Doctrineを使用して、あるデータベースでINSERTクエリを実行し、別のデータベースでSELECTクエリを実行する簡単な解決策はありますか?
MysqlレプリケーションでDoctrineを使用しようとしています...
すでに解決策が見つかりました。2つのクラスを変更する必要があります。
クラスDoctrine_Query、preQueryメソッドの変更:
public function preQuery()
{
$doctrine_manager = Doctrine_Manager::getInstance();
if ($this->getType() == Doctrine_Query::SELECT) {
$this->_conn = $doctrine_manager->getConnection('slave');
} else {
$this->_conn = $doctrine_manager->getConnection('master');
}
}
クラスDoctrine_Record、updateメソッドsave:
public function save(Doctrine_Connection $conn = null)
{
if ($conn === null) {
$conn = Doctrine_Manager::getInstance()->getConnection('master');
}
parent::save($conn);
}