sql >> Databáze >  >> RDS >> Mysql

Jak dynamicky resetovat konfiguraci databáze v Laravelu?

Netestováno, protože něco takového momentálně nemám nastaveno, ale jsem si jistý, že potřebujete vyčistit DB po výměně konfigurace:

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

Edit:Existuje také \DB::reconnect('mysqlClient'); ale lidé s tím mají zdokumentované problémy




  1. Jak odstranit mezery z řetězce v MySQL

  2. Výjimka SQLite Query Kód chyby syntaxe Android Studio 1

  3. Vložení textového řetězce s hexem do PostgreSQL jako bajt

  4. Jak porovnám dvě hodnoty CLOB v Oracle