Artikler

Sådan konfigurerer du Laravel til at bruge flere databaser i dit projekt

Normalt involverer et softwareudviklingsprojekt brug af en database til lagring af data på en struktureret måde.

Til specifikke projekter kan det være nødvendigt at bruge flere databaser.

Med Laravel, for at bruge flere databaser, skal vi konfigurere rammen og især forbindelseskonfigurationsfilen.

Lad os se, hvordan du konfigurerer Laravel til at bruge flere databaser.

Estimeret læsetid: 4 minutter

File (Felt) database.php in config Vejviser

Denne fil er placeret i mappen config af din Laravel-applikation.

I filen database.php er muligt definish flere databaseforbindelser. Enhver forbindelse skal være defiopstillet som et array. Arrayet skal indeholde følgende oplysninger:

  • driver: databasedriveren, der skal bruges;
  • host: navnet host eller adressen IP af databaseserveren;
  • port: databaseserverens portnummer;
  • database: databasenavnet;
  • username: brugernavnet til at oprette forbindelse til databasen;
  • password: adgangskoden til at oprette forbindelse til databasen;

For eksempel følgende kode defiDer er to databaseforbindelser, en til MySQL og en til 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',
        ],

Sådan opretter du forbindelse til DB

Efter at have haft det defiNår du har databaseforbindelser, kan du bruge dem i din kode Laravel. For at gøre dette kan du bruge facade af databasen. Der facade database giver en samlet grænseflade til interaktion med databaser.

For at skifte mellem databaseforbindelser kan du bruge metoden Connection() af facade Databaser. Metoden Connection() tager navnet på databaseforbindelsen som et argument.

For eksempel går følgende kode fra mysql DB til pgsql DB:

Nyhedsbrev om innovation
Gå ikke glip af de vigtigste nyheder om innovation. Tilmeld dig for at modtage dem via e-mail.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Når du skifter til en databaseforbindelse, kan du bruge den til at forespørge og interagere med databasen.

Fordele ved at bruge flere databaser i Laravel

Der er adskillige fordele ved at bruge flere databaser i Laravel, herunder:

  • Bedre ydeevne: Brug af flere databaser kan forbedre applikationens ydeevne ved at adskille data af forskellige typer. For eksempel kan du gemme brugerdata i én database og produktdata i en anden database.
  • Forbedret sikkerhed: Brug af flere databaser kan forbedre applikationssikkerheden ved at adskille data af forskellige typer. For eksempel kan du gemme følsomme data i én database og mindre følsomme data i en anden database.
  • Større skalerbarhed: Brug af flere databaser kan gøre din applikation mere skalerbar ved at give dig mulighed for at distribuere dine data på tværs af flere servere.

Bedste praksis for brug af flere databaser i Laravel

Her er nogle bedste fremgangsmåder til brug af flere databaser i Laravel:

  • Brug venlige navne til databaseforbindelser: Dette vil gøre det nemmere at identificere og administrere databaseforbindelser.
  • Brug metoden Connection() at gå fra en DB til en anden - dette vil hjælpe dig med at undgå at løbe ved et uheld query syd database forkert.
  • Brug et databasemigreringssystem til at administrere dine databaseskemaer – dette vil hjælpe dig med at holde dine databaseskemaer synkroniseret på tværs af alle dine database.

konklusion

Brug af flere databaser i Laravel kan være en fantastisk måde at forbedre ydeevnen, sikkerheden og skalerbarheden af ​​din applikation. Ved at følge den bedste praksis beskrevet i denne artikel kan du bruge flere databaser i Laravel effektivt.

Relaterede læsninger

Ercole Palmeri

Nyhedsbrev om innovation
Gå ikke glip af de vigtigste nyheder om innovation. Tilmeld dig for at modtage dem via e-mail.

Seneste artikler

Onlinebetalinger: Her er hvordan streamingtjenester får dig til at betale for evigt

Millioner af mennesker betaler for streamingtjenester og betaler månedlige abonnementsgebyrer. Det er almindelig opfattelse, at du...

29 April 2024

Veeam har den mest omfattende support til ransomware, fra beskyttelse til respons og gendannelse

Coveware by Veeam vil fortsætte med at levere responstjenester til cyberafpresning. Coveware vil tilbyde kriminaltekniske og afhjælpende funktioner...

23 April 2024

Grøn og digital revolution: Hvordan prædiktiv vedligeholdelse transformerer olie- og gasindustrien

Forudsigende vedligeholdelse revolutionerer olie- og gassektoren med en innovativ og proaktiv tilgang til anlægsstyring...

22 April 2024

Britisk antitrust-tilsynsmyndighed rejser BigTech-alarm over GenAI

Det britiske CMA har udsendt en advarsel om Big Techs adfærd på markedet for kunstig intelligens. Der…

18 April 2024