2012-04-05 8 views
1

Gibt es eine einfache Lösung, wie INSERT-Abfragen in einer Datenbank und SELECT-Abfragen in einer anderen mit Doctrine durchgeführt werden?Getrennte INSERT- und UPDATE-Abfragen in Doktrin

Ich versuche Lehre zu verwenden, mit MySQL-Replikation ...

+0

Wie verwenden Sie Doctrine: mit Symfony 1, Symfony 2, Zend, von Grund auf neu? Welche Version der Doktrin benutzt du? – j0k

+0

ich benutze jetzt codeigniter + doctrine 1.2, aber es ist nicht so schwer auf 2.x zu wechseln. wenn es einen Sinn darin gibt – samrockon

Antwort

1

gefunden bereits eine Lösung, 2 Klassen geändert werden müssen:

Klasse Doctrine_Query, ändern preQuery Methode:

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'); 
    } 
} 

Klasse Doctrine_Record, update Methode speichern:

public function save(Doctrine_Connection $conn = null) 
{ 
    if ($conn === null) { 
     $conn = Doctrine_Manager::getInstance()->getConnection('master'); 
    } 
    parent::save($conn); 
}