Хотя вы, скорее всего, уже придумали решение, я все равно опубликую способ, которым я это сделал:
Я искал решение для той же проблемы и пришел к идее поместить логику для этого в адаптер.
Я расширил Zend_Db_Adapter_Abstract и добавил логический атрибут $ write. Для этого я добавил публичные методы получения и установки.
Мой адаптер сохраняет две разные конфигурации / соединения базы данных: одну для главного (для записи) и одну для подчиненного (для чтения). (На самом деле это не одна конфигурация, а много, поэтому у меня есть своего рода набор мастеров и масел, которые выбираются случайным образом по весу.)
Теперь я делаю следующее: перед выполнением запроса $ write должен быть установлен в true или false. В методе connect () адаптер подключается или использует правильное соединение в зависимости от значения $ write.