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

Hvordan nulstilles databasekonfigurationen dynamisk i Laravel?

Utestet, da jeg ikke har noget lignende opsætning i øjeblikket, men jeg er sikker på, at du skal rense DB efter et konfigurationsskift:

$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;
    }
}

Rediger:Der er også \DB::reconnect('mysqlClient'); men folk har dokumenteret problemer med det




  1. MySQL underforespørgsel returnerer mere end én række

  2. Hvordan løses ORA-29471 på dbms_sql.open_cursor?

  3. PostgreSQL:Vælg data med et like på tidsstempelfeltet

  4. Opret PostgreSQL ROLLE (bruger), hvis den ikke findes