 <p>Already found a solution, 2 classes need to be modified:</p> <p>class Doctrine_Query, change preQuery method:</p> <pre><code>public function preQuery() { $doctrine_manager = Doctrine_Manager::getInstance(); if ($this-&gt;getType() == Doctrine_Query::SELECT) { $this-&gt;_conn = $doctrine_manager-&gt;getConnection('slave'); } else { $this-&gt;_conn = $doctrine_manager-&gt;getConnection('master'); } } </code></pre> <p>class Doctrine_Record, update method save:</p> <pre><code>public function save(Doctrine_Connection $conn = null) { if ($conn === null) { $conn = Doctrine_Manager::getInstance()-&gt;getConnection('master'); } parent::save($conn); } </code></pre>