Mysql
 sql >> Database >  >> RDS >> Mysql

Come ripristinare dinamicamente la configurazione del database in Laravel?

Non testato in quanto non ho qualcosa di simile attualmente configurato, ma sono sicuro che devi eliminare il DB dopo uno scambio di configurazione:

$databases = array();
foreach($servers as $server){
    // Setting Config
    Config::set('database.connections.mysqlClient.host',$server->ip);
    Config::set('database.connections.mysqlClient.password',$server->mysql_password);

    foreach($server->databases as $database){
        DB::purge('mysqlClient'); // <-- Get rid of old connection
        $database->size = DB::connection('mysqlClient')->select('SELECT Round(Sum(data_length + index_length) / 1024 / 1024, 1) "db_size"
            FROM   information_schema.tables 
            where table_schema = "'.$database->name.'";'
        )[0]->db_size;

        $databases[] = $database;
    }
}

Modifica:c'è anche \DB::reconnect('mysqlClient'); ma le persone hanno documentato problemi con esso