Tempo estimado de lectura: 4 minutos
database.php
in config
guíaEste ficheiro atópase no directorio config
da súa aplicación Laravel.
No arquivo database.php
é posible defifinalizar varias conexións de bases de datos. Toda conexión debe ser deficlasificado como unha matriz. A matriz debe conter a seguinte información:
driver
: o controlador de base de datos a usar;host
: o nome host
ou o enderezo IP
do servidor de base de datos;port
: o número de porto do servidor de base de datos;database
: o nome da base de datos;username
: o nome de usuario para conectarse á base de datos;password
: o contrasinal para conectarse á base de datos;Por exemplo, o seguinte código defiHai dúas conexións de base de datos, unha para MySQL e outra para 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',
],
Despois defiUnha vez que teñas conexións á base de datos, podes usalas no teu código Laravel
. Para iso, pode utilizar o facade
da base de datos. Alí facade
base de datos proporciona unha interface unificada para interactuar coas bases de datos.
Para cambiar entre conexións de base de datos, pode usar o método Connection()
de facade
Bases de datos. O método Connection()
toma o nome da conexión de base de datos como argumento.
Por exemplo, o seguinte código vai da base de datos mysql á base de datos pgsql:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Unha vez que cambie a unha conexión de base de datos, pode usala para consultar e interactuar coa base de datos.
Hai numerosos beneficios ao usar varias bases de datos en Laravel, incluíndo:
Aquí tes algunhas prácticas recomendadas para usar varias bases de datos en Laravel:
Connection()
para ir dun DB a outro - isto axudarache a evitar correr accidentalmente pregunta sul base de datos mal.Usar varias bases de datos en Laravel pode ser unha boa forma de mellorar o rendemento, a seguridade e a escalabilidade da túa aplicación. Seguindo as mellores prácticas descritas neste artigo, podes usar varias bases de datos en Laravel de forma eficaz.
Ercole Palmeri
O sector naval é unha verdadeira potencia económica mundial, que navega cara a un mercado de 150 millóns...
O pasado luns, o Financial Times anunciou un acordo con OpenAI. FT licencia o seu xornalismo de clase mundial...
Millóns de persoas pagan por servizos de streaming, pagando taxas de subscrición mensuais. É unha opinión común que vostede...
Coveware by Veeam continuará ofrecendo servizos de resposta a incidentes de extorsión cibernética. Coveware ofrecerá capacidades forenses e de remediación...