Index: library/Zend/Application/Resource/Multidb.php =================================================================== --- library/Zend/Application/Resource/Multidb.php (revision 21089) +++ library/Zend/Application/Resource/Multidb.php (working copy) @@ -76,19 +76,18 @@ public function init() { $options = $this->getOptions(); - foreach ($options as $id => $params) { $adapter = $params['adapter']; $default = isset($params['default'])?(int)$params['default']:false; - unset($params['adapter'], $params['default']); + $default = (!$default && isset($params['isDefaultTableAdapter'])) + ? (int) $params['isDefaultTableAdapter'] + : $default; + + unset($params['adapter'], $params['default'], $params['isDefaultTableAdapter']); $this->_dbs[$id] = Zend_Db::factory($adapter, $params); - if ($default - // For consistency with the Db Resource Plugin - || (isset($params['isDefaultTableAdapter']) - && $params['isDefaultTableAdapter'] == true) - ) { + if ($default) { $this->_setDefault($this->_dbs[$id]); } } Index: tests/Zend/Application/Resource/MultidbTest.php =================================================================== --- tests/Zend/Application/Resource/MultidbTest.php (revision 21089) +++ tests/Zend/Application/Resource/MultidbTest.php (working copy) @@ -176,7 +176,9 @@ { $resource = new Zend_Application_Resource_Multidb(array()); $resource->setBootstrap($this->bootstrap); - $resource->setOptions($this->_dbOptions); + $options = $this->_dbOptions; + $options['db2']['isDefaultTableAdapter'] = true; + $resource->setOptions($options); $res = $resource->init(); $expected = array( @@ -188,6 +190,12 @@ 'options' => array('caseFolding' => 0, 'autoQuoteIdentifiers' => true), 'driver_options' => array()); $this->assertEquals($expected, $res->getDb('db2')->getConfig()); + + $options = $this->_dbOptions; + $options['db2']['default'] = true; + $resource->setOptions($options); + $res = $resource->init(); + $this->assertEquals($expected, $res->getDb('db2')->getConfig()); }