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

Laravel zmienia parametry bazy danych w czasie wykonywania

Postanowiłem w ten sposób:

Część config::set była nieprawidłowa, aby uzyskać dostęp do konfiguracji bazy danych, powinienem użyć stylu kropki (.), w ten sposób:

Config::set("database.connections.sqlsrv.host", Crypt::decrypt($cliente->Server));
Config::set("database.connections.sqlsrv.database", $cliente->NomeDB);
Config::set("database.connections.sqlsrv.username", Crypt::decrypt($cliente->Username));
Config::set("database.connections.sqlsrv.password", Crypt::decrypt($cliente->Password));

A następnie ponownie połącz się z DB:

\Illuminate\Support\Facades\DB::reconnect();

Moją radą dla wszystkich, którzy mają ten problem, jest użycie podwójnego połączenia db, jednego dla głównej bazy danych (db serwera) i jednego dla bazy danych klienta. W ten sposób możesz przełączyć się na oba db, za pomocą tego prostego kodu:

Config::set("database.default", "sqlsrvCustomer");
\Illuminate\Support\Facades\DB::reconnect();

Za pomocą pierwszego polecenia możesz wybrać bazę danych klienta, a za pomocą drugiego możesz się z nią połączyć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać najnowszy wpis w mysql?

  2. Różnica między dwiema strukturami tabel

  3. tworzenie bazy danych w mysql z java

  4. Uprawnienia użytkownika MySQL

  5. Aktualizacje pola MySQL CURRENT_TIMESTAMP przy każdej aktualizacji