Artikler

Hvordan konfigurere Laravel til å bruke flere databaser i prosjektet ditt

Normalt innebærer et programvareutviklingsprosjekt bruk av en database for å lagre data på en strukturert måte.

For spesifikke prosjekter kan det være nødvendig å bruke flere databaser.

Med Laravel, for å bruke flere databaser, må vi konfigurere rammeverket og spesielt tilkoblingskonfigurasjonsfilen.

La oss se hvordan du konfigurerer Laravel til å bruke flere databaser.

Beregnet lesetid: 4 minutter

filet database.php in config katalog

Denne filen ligger i katalogen config av Laravel-applikasjonen din.

I filen database.php er mulig definish flere databaseforbindelser. Hver forbindelse må være defioppført som en matrise. Matrisen skal inneholde følgende informasjon:

  • driver: databasedriveren som skal brukes;
  • host: navnet host eller adressen IP av databaseserveren;
  • port: databaseserverens portnummer;
  • database: databasenavnet;
  • username: brukernavnet for å koble til databasen;
  • password: passordet for å koble til databasen;

For eksempel følgende kode defiDet er to databasetilkoblinger, en for MySQL og en for 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',
        ],

Hvordan koble til DB

Etter defiNår du har databasetilkoblinger, kan du bruke dem i koden Laravel. For å gjøre dette kan du bruke facade av databasen. Der facade database gir et enhetlig grensesnitt for samhandling med databaser.

For å bytte mellom databasetilkoblinger kan du bruke metoden Connection() av facade Databaser. Metoden Connection() tar navnet på databaseforbindelsen som et argument.

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

Nyhetsbrev for innovasjon
Ikke gå glipp av de viktigste nyhetene om innovasjon. Registrer deg for å motta dem på e-post.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Når du bytter til en databasetilkobling, kan du bruke den til å spørre og samhandle med databasen.

Fordeler med å bruke flere databaser i Laravel

Det er mange fordeler med å bruke flere databaser i Laravel, inkludert:

  • Bedre ytelse: Bruk av flere databaser kan forbedre applikasjonsytelsen ved å skille data av forskjellige typer. Du kan for eksempel lagre brukerdata i én database og produktdata i en annen database.
  • Forbedret sikkerhet: Bruk av flere databaser kan forbedre applikasjonssikkerheten ved å skille data av forskjellige typer. Du kan for eksempel lagre sensitive data i én database og mindre sensitive data i en annen database.
  • Større skalerbarhet: Bruk av flere databaser kan gjøre applikasjonen din mer skalerbar ved å tillate deg å distribuere dataene dine på flere servere.

Beste praksis for bruk av flere databaser i Laravel

Her er noen beste fremgangsmåter for bruk av flere databaser i Laravel:

  • Bruk vennlige navn for databaseforbindelser: Dette vil gjøre det enklere å identifisere og administrere databaseforbindelser.
  • Bruk metoden Connection() å gå fra en DB til en annen - dette vil hjelpe deg å unngå å løpe ved et uhell spørring sul database feil.
  • Bruk et databasemigreringssystem for å administrere databaseskjemaene dine – dette vil hjelpe deg å holde databaseskjemaene synkronisert på tvers av alle dine database.

konklusjon

Å bruke flere databaser i Laravel kan være en fin måte å forbedre ytelsen, sikkerheten og skalerbarheten til applikasjonen din. Ved å følge de beste fremgangsmåtene beskrevet i denne artikkelen, kan du bruke flere databaser i Laravel effektivt.

Relaterte lesninger

Ercole Palmeri

Nyhetsbrev for innovasjon
Ikke gå glipp av de viktigste nyhetene om innovasjon. Registrer deg for å motta dem på e-post.

Siste artikler

Fremtiden er her: Hvordan shippingindustrien revolusjonerer den globale økonomien

Marinesektoren er en ekte global økonomisk makt, som har navigert mot et 150 milliarder marked...

1 mai 2024

Utgivere og OpenAI signerer avtaler for å regulere flyten av informasjon som behandles av kunstig intelligens

Sist mandag kunngjorde Financial Times en avtale med OpenAI. FT lisensierer sin journalistikk i verdensklasse...

30 april 2024

Nettbetalinger: Her er hvordan strømmetjenester får deg til å betale for alltid

Millioner av mennesker betaler for strømmetjenester og betaler månedlige abonnementsavgifter. Det er vanlig oppfatning at du...

29 april 2024

Veeam har den mest omfattende støtten for løsepengevare, fra beskyttelse til respons og gjenoppretting

Coveware by Veeam vil fortsette å tilby responstjenester for cyberutpressing. Coveware vil tilby kriminaltekniske og utbedringsmuligheter...

23 april 2024