Несколько MySQL серверов с codeigniter - PullRequest
0 голосов
/ 23 января 2012

Как я могу настроить свое приложение codeigniter, чтобы, если оно не может подключиться к одному серверу mysql, оно подключалось к другому?т.е.: установить первичный mysql и вторичный mysql.

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

Я бы настроил несколько баз данных codeigniter в config / database (см. Ниже)

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'uname';
$db['default']['password'] = 'pword';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;


$db['db2']['hostname'] = 'hostname1';
$db['db2']['username'] = 'uname';
$db['db2']['password'] = 'pword';
$db['db2']['database'] = '';
$db['db2']['dbdriver'] = 'mysql';
$db['db2']['dbprefix'] = '';
$db['db2']['pconnect'] = TRUE;
$db['db2']['db_debug'] = TRUE;
$db['db2']['cache_on'] = FALSE;
$db['db2']['cachedir'] = '';
$db['db2']['char_set'] = 'utf8';
$db['db2']['dbcollat'] = 'utf8_general_ci';
$db['db2']['swap_pre'] = '';
$db['db2']['autoinit'] = TRUE;
$db['db2']['stricton'] = FALSE;

Затем в моем контроллере я бы загружал базу данных и проверял, была ли она успешной.

 $this->db = $this->load->database('default', TRUE); //If it isn't pre-loaded 

    if($this->db->conn_id === FALSE){
      $this->db = $this->load->database('db2', TRUE); 
    }

Я не проверял это, но я бы предположил, что это будет работать.

0 голосов
/ 23 января 2012

Не уверен, что это возможно из коробки. Вам придется взломать рамки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...