В моей ситуации у меня есть «основная» база данных, которая загружает информацию о клиенте, включая информацию о подключении к базе данных клиента. Основные настройки подключения находятся в application.ini
. Весь код ниже находится в моей начальной загрузке.
Загрузка «основного» соединения (не установлено по умолчанию в ini
):
$db_core = $this->getPluginResource('db')->getDbAdapter();
$db_core->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Registry::set('db_core', $db_core);
После загрузки настроек из базы 'core' в реестр:
$settings = Zend_Registry::get('settings');
$db = Zend_Db::factory(
$settings->db_adapter,
array(
'host' => $settings->db_host,
'username' => $settings->db_user,
'password' => $settings->db_pass,
'dbname' => $settings->db_name,
)
);
$db->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Db_Table::setDefaultAdapter($db);