Tempo di lettura stimato: 4 minuti
database.php
in config
directoryQuesto file si trova nella directory config
della tua applicazione Laravel.
Nel file database.php
è possibile definire più connessioni al database. Ogni connessione deve essere definita come un array. L’array dovrebbe contenere le seguenti informazioni:
driver
: il driver del database da utilizzare;host
: il nome host
o l’indirizzo IP
del server del database;port
: il numero di porta del server del database;database
: il nome del database;username
: il nome utente per la connessione al database;password
: la password per la connessione al database;Ad esempio, il codice seguente definisce due connessioni al database, una per MySQL e una per PostgreSQL:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
Dopo aver definito le connessioni al database, puoi utilizzarle nel tuo codice Laravel
. Per fare ciò, puoi utilizzare la facade
del database. La facade
del database fornisce un’interfaccia unificata per l’interazione con i database.
Per passare da una connessione al database all’altra, è possibile utilizzare il metodo Connection()
della facade
Database. Il metodo Connection()
prende come argomento il nome della connessione al database.
Ad esempio, il codice seguente passa dal DB mysql al DB pgsql:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Una volta passato a una connessione al database, è possibile utilizzarla per eseguire query e interagire con il database.
Esistono numerosi vantaggi nell’utilizzo di più database in Laravel, tra cui:
Ecco alcune best practice per l’utilizzo di più database in Laravel:
Connection()
per passare da un DB a un altro: questo ti aiuterà a evitare di eseguire accidentalmente query sul database sbagliato.L’utilizzo di più database in Laravel può essere un ottimo modo per migliorare le prestazioni, la sicurezza e la scalabilità della tua applicazione. Seguendo le migliori pratiche descritte in questo articolo, puoi utilizzare più database in Laravel in modo efficace.
Ercole Palmeri
Milioni di persone pagano per i servizi di streaming, pagando mensilmente la quota di abbonamento. È opinione comune che tu…
Coveware by Veeam continuerà a fornire servizi di risposta agli incidenti di cyber-estorsione. Coveware offrirà funzionalità di forensics e remediation…
La manutenzione predittiva sta rivoluzionando il settore dell'oil & gas, con un approccio innovativo e proattivo alla gestione degli impianti.…
La CMA del Regno Unito ha lanciato un avvertimento circa il comportamento delle Big Tech sul mercato dell’intelligenza artificiale. La…