Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Laravel thay đổi các tham số cơ sở dữ liệu tại thời điểm chạy

Tôi đã giải quyết theo cách này:

Phần config ::set bị sai, để truy cập cấu hình cơ sở dữ liệu, tôi nên sử dụng kiểu dấu chấm (.), Theo cách này:

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));

Và sau đó kết nối lại với DB:

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

Lời khuyên của tôi cho tất cả những người gặp sự cố này, là sử dụng kết nối db kép, một cho db chính (db máy chủ) và một cho db khách hàng. Bằng cách này, bạn có thể chuyển sang cả hai db, với mã đơn giản sau:

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

Với lệnh đầu tiên, bạn có thể chọn DB của khách hàng và với lệnh thứ hai, bạn có thể kết nối với nó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách tạo cơ sở dữ liệu mysql từ vải động

  2. Sử dụng Cơ sở dữ liệu quan hệ MySQL trên Fedora 20

  3. mysql chọn từ n hàng cuối cùng

  4. cách cho phép người dùng đã đăng nhập CẬP NHẬT / CHỈNH SỬA cài đặt / thông tin hồ sơ của họ

  5. Làm cách nào để thêm 1 giờ vào currrent_timestamp trong mysql, giá trị mặc định là giá trị?