sql >> Database >  >> RDS >> Mysql

Hoe de databaseconfiguratie in Laravel dynamisch opnieuw in te stellen?

Niet getest omdat ik momenteel niet zoiets heb ingesteld, maar ik weet zeker dat je de DB moet opschonen na een configuratiewissel:

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

Bewerken:Er is ook \DB::reconnect('mysqlClient'); maar mensen hebben er gedocumenteerde problemen mee




  1. PostgreSQL - Retourneert de rij-inhoud wanneer UPDATE mislukt

  2. DAY() Voorbeelden – MySQL

  3. Efficiënte manier om gegevens uit een tweede database te halen?

  4. Kan ik veilig vertrouwen op kolomnaam in mysql?