Odpowiedź na moje pytanie znalazła się w tym wątku na forach Codeigniter .
Kluczem jest nie autoinicjalizuj bazę danych:
$db['xxx']['autoinit'] = FALSE;
Aby pominąć błędy, możesz to ustawić
$db['xxx']['db_debug'] = FALSE;
Następnie w swoim kodzie sprawdzającym stan bazy danych sprawdź TRUE/FALSE funkcji initialize():
$db_obj = $this->database->load('xxx',TRUE);
$connected = $db_obj->initialize();
if (!$connected) {
$db_obj = $this->database->load('yyy',TRUE);
}
Oto mój cały plik konfiguracyjny do wykorzystania w przyszłości:https://gist.github.com/3749863 .