sql >> Databasteknik >  >> RDS >> Mysql

Anslut till många databaser samtidigt i Laravel 5.2

Introduktion - 2 anslutningar

Förutsatt att du behöver 2 anslutningar:standard och anpassade , skulle du ange deras konfiguration i din config/database.php som vanligt behöver du:

>>> DB::connection()->getDatabaseName()
=> "default"

>>> DB::connection('custom')->getDatabaseName()
=> "customized"

// change the config...
>>> config(['database.connections.custom.database' => 'new_customized_db'])
=> null

// ...but once the connection is already open, config change doesn't affect it...
>>> DB::connection('custom')->getDatabaseName()
=> "customized"

// ...so we need to get rid of existing connection completely (reconnect() won't work)
>>> DB::purge('custom')
=> null

>>> DB::connection('custom')->getDatabaseName()
=> "new_customized_db"

Fler anslutningar

Ovan kan du se vad som behöver göras. I ditt fall kan du helt enkelt sätta hela anslutningskonfigurationen för varje ny anslutning du behöver, och det kommer att fungera som förväntat:

>>> config(['database.connections.on_the_fly' => [
>>>    'database' => 'provided_on_the_fly',
>>>    ...
>>> ]])
=> null

>>> DB::connection('on_the_fly')->getDatabaseName()
=> "provided_on_the_fly"

Vältalande

Om du vill använda anpassad anslutning för dina vältalande modeller du kan använda SomeModel::on('on_the_fly')->find($id) (hämtad modell instans kommer att använda anslutningen för alla efterföljande operationer)




  1. SQLcl för att överföra data från Oracle till PostgreSQL eller YugabyteDB 🅾🐘🚀

  2. Oracle SQL-utvecklare:Visa REFCURSOR-resultat i Grid?

  3. JPA Tabellnamn med versaler

  4. Hur får man det senast infogade ID?