Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dynamicznie zresetować konfigurację bazy danych w Laravelu?

Nie przetestowano, ponieważ nie mam aktualnie skonfigurowanego czegoś takiego, ale jestem pewien, że musisz wyczyścić DB po zmianie konfiguracji:

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

Edycja:istnieje również \DB::reconnect('mysqlClient'); ale ludzie mają z tym udokumentowane problemy




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie zagnieżdżone SQL działa wolno przy użyciu IN

  2. Jak zablokować tabele mysql w php

  3. Laravel 5.2 - Left Join DB::Raw nie działa?

  4. Obliczenie rozmiaru bazy danych?

  5. Trwała tabela tymczasowa?