Ваша база данных уже указана в конфигурационном файле database.php?
Что вам, вероятно, нужно будет сделать, это установить параметры подключения и оставить имя базы данных пустым
$db['default']['database'] = '';
Затемвы все еще можете автоматически загрузить класс базы данных, а затем загрузить класс dbutil, чтобы проверить его.После проверки и / или создания вам потребуется вернуть имя базы данных в конфигурацию database.php.
В качестве альтернативы вы можете удалить класс базы данных из автозагрузки и загрузить его на каждый необходимый контроллер.Затем в вашем инсталляционном контроллере вы можете загрузить его без имени базы данных, используя массив DSN или $ config в соответствии с документами: http://www.codeignitor.com/user_guide/database/connecting.html
function index()
{
$dsn = 'mysql://myuser:mypass@localhost';
$this->load->database($dsn);
$this->load->dbutil();
$db_exists = FALSE;
$this->load->dbutil();
if( $this->dbutil->database_exists( 'my_db' ) ){
$db_exists = TRUE;
}
}