Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengatur ulang konfigurasi basis data secara dinamis di Laravel?

Belum diuji karena saya tidak memiliki pengaturan seperti ini saat ini, tetapi saya yakin Anda perlu membersihkan DB setelah pertukaran konfigurasi:

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

Sunting:Ada juga \DB::reconnect('mysqlClient'); tetapi orang-orang telah mendokumentasikan masalah dengannya




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL menggunakan Sum dan Case

  2. MySQL UDF sys_exec() tidak berfungsi

  3. Peringatan:mysqli::mysqli():(HY000/1045):Akses ditolak untuk 'database'@'localhost' pengguna (menggunakan kata sandi:NO) di

  4. PDO::ERRMODE_EXCEPTION tidak menekan peringatan

  5. Bagaimana cara membuat halaman web baru dari entri database yang dikirimkan pengguna?