Artiklar

Hur du konfigurerar Laravel för att använda flera databaser i ditt projekt

Normalt innebär ett programvaruutvecklingsprojekt användning av en databas för att lagra data på ett strukturerat sätt.

För specifika projekt kan det vara nödvändigt att använda flera databaser.

Med Laravel, för att använda flera databaser, måste vi konfigurera ramverket och i synnerhet anslutningskonfigurationsfilen.

Låt oss se hur du konfigurerar Laravel för att använda flera databaser.

Beräknad lästid: 4 minuter

Fil database.php in config katalog

Denna fil finns i katalogen config av din Laravel-applikation.

I filen database.php è possibile defiavsluta flera databasanslutningar. Varje anslutning måste vara definiteras som en array. Arrayen bör innehålla följande information:

  • driver: databasdrivrutinen som ska användas;
  • host: namnet host eller adressen IP av databasservern;
  • port: databasserverns portnummer;
  • database: databasens namn;
  • username: användarnamnet för att ansluta till databasen;
  • password: lösenordet för att ansluta till databasen;

Till exempel följande kod defiDet finns två databasanslutningar, en för MySQL och en för 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',
        ],

Hur man ansluter till DB

Efter att ha defiNär du väl har databasanslutningar kan du använda dem i din kod Laravel. För att göra detta kan du använda facade av databasen. där facade databasen tillhandahåller ett enhetligt gränssnitt för interaktion med databaser.

För att växla mellan databasanslutningar kan du använda metoden Connection() av facade Databaser. Metoden Connection() tar namnet på databasanslutningen som ett argument.

Till exempel går följande kod från mysql DB till pgsql DB:

Nyhetsbrev för innovation
Missa inte de viktigaste nyheterna om innovation. Registrera dig för att få dem via e-post.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

När du väl byter till en databasanslutning kan du använda den för att fråga och interagera med databasen.

Fördelar med att använda flera databaser i Laravel

Det finns många fördelar med att använda flera databaser i Laravel, inklusive:

  • Bättre prestanda: Användning av flera databaser kan förbättra applikationsprestanda genom att separera data av olika typer. Till exempel kan du lagra användardata i en databas och produktdata i en annan databas.
  • Ökad säkerhet: Att använda flera databaser kan förbättra applikationssäkerheten genom att separera data av olika typer. Till exempel kan du lagra känsliga data i en databas och mindre känsliga data i en annan databas.
  • Större skalbarhet: Att använda flera databaser kan göra din applikation mer skalbar genom att du kan distribuera din data över flera servrar.

Bästa metoder för att använda flera databaser i Laravel

Här är några bästa metoder för att använda flera databaser i Laravel:

  • Använd vänliga namn för databasanslutningar: Detta gör det lättare att identifiera och hantera databasanslutningar.
  • Använd metoden Connection() att gå från en DB till en annan - detta hjälper dig att undvika att springa av misstag fråga söder databas fel.
  • Använd ett databasmigreringssystem för att hantera dina databasscheman – detta hjälper dig att hålla dina databasscheman synkroniserade över alla dina databas.

slutsats

Att använda flera databaser i Laravel kan vara ett bra sätt att förbättra prestanda, säkerhet och skalbarhet för din applikation. Genom att följa de bästa metoderna som beskrivs i den här artikeln kan du använda flera databaser i Laravel effektivt.

Relaterade läsningar

Ercole Palmeri

Nyhetsbrev för innovation
Missa inte de viktigaste nyheterna om innovation. Registrera dig för att få dem via e-post.

Articoli recenti

Veeam har det mest omfattande stödet för ransomware, från skydd till svar och återställning

Coveware by Veeam kommer att fortsätta att tillhandahålla svarstjänster för cyberutpressning. Coveware kommer att erbjuda kriminaltekniska och saneringsmöjligheter...

23 April 2024

Grön och digital revolution: Hur prediktivt underhåll förändrar olje- och gasindustrin

Förutsägande underhåll revolutionerar olje- och gassektorn, med ett innovativt och proaktivt förhållningssätt till anläggningsförvaltning.…

22 April 2024

Brittisk antitrustregulator väcker larm över BigTech över GenAI

UK CMA har utfärdat en varning om Big Techs beteende på marknaden för artificiell intelligens. Där…

18 April 2024

Casa Green: energirevolution för en hållbar framtid i Italien

Dekretet "Gröna hus", formulerat av Europeiska unionen för att förbättra energieffektiviteten i byggnader, har avslutat sin lagstiftningsprocess med...

18 April 2024