Geschatte leestijd: 4 minuti
database.php
in config
directoryDit bestand bevindt zich in de directory config
van uw Laravel-applicatie.
In het bestand database.php
è possibile defimaak meerdere databaseverbindingen tot stand. Elke verbinding moet dat zijn defisamengevoegd als een array. De array moet de volgende informatie bevatten:
driver
: het te gebruiken databasestuurprogramma;host
: de naam host
of het adres IP
van de databaseserver;port
: het poortnummer van de databaseserver;database
: de databasenaam;username
: de gebruikersnaam om verbinding te maken met de database;password
: het wachtwoord om verbinding te maken met de database;Bijvoorbeeld de volgende code defiEr zijn twee databaseverbindingen, één voor MySQL en één voor 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',
],
Na defiZodra u databaseverbindingen heeft, kunt u deze in uw code gebruiken Laravel
. Om dit te doen, kunt u gebruik maken van de facade
van de databank. Daar facade
database biedt een uniforme interface voor interactie met databases.
Om te schakelen tussen databaseverbindingen kunt u de methode gebruiken Connection()
van facade
Databases. De methode Connection()
neemt de naam van de databaseverbinding als argument.
De volgende code gaat bijvoorbeeld van de mysql DB naar de pgsql DB:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Zodra u overschakelt naar een databaseverbinding, kunt u deze gebruiken voor het opvragen van en communiceren met de database.
Er zijn talloze voordelen verbonden aan het gebruik van meerdere databases in Laravel, waaronder:
Hier zijn enkele best practices voor het gebruik van meerdere databases in Laravel:
Connection()
om van één te gaan DB naar een andere - dit zal u helpen voorkomen dat u per ongeluk gaat rennen vraag op databank fout.Het gebruik van meerdere databases in Laravel kan een geweldige manier zijn om de prestaties, beveiliging en schaalbaarheid van uw applicatie te verbeteren. Door de best practices te volgen die in dit artikel worden beschreven, kunt u meerdere databases in Laravel effectief gebruiken.
Ercole Palmeri
Google DeepMind introduceert een verbeterde versie van zijn kunstmatige-intelligentiemodel. Het nieuwe, verbeterde model biedt niet alleen…
Laravel, beroemd om zijn elegante syntaxis en krachtige functies, biedt ook een solide basis voor modulaire architectuur. Daar…
Cisco en Splunk helpen klanten hun reis naar het Security Operations Center (SOC) van de toekomst te versnellen met…
Ransomware heeft het nieuws de afgelopen twee jaar gedomineerd. De meeste mensen weten heel goed dat aanvallen...
Een oftalmoplastiekoperatie met behulp van de Apple Vision Pro-commercialviewer werd uitgevoerd in de Catania-polikliniek ...
Het ontwikkelen van fijne motoriek door middel van kleuren bereidt kinderen voor op complexere vaardigheden zoals schrijven. Kleuren…
De marinesector is een echte mondiale economische macht, die is genavigeerd naar een markt van 150 miljard...
Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...