Artikels

Hoe om Laravel op te stel om veelvuldige databasisse in jou projek te gebruik

Normaalweg behels 'n sagteware-ontwikkelingsprojek die gebruik van 'n databasis om data op 'n gestruktureerde manier te stoor.

Vir spesifieke projekte mag dit nodig wees om verskeie databasisse te gebruik.

Met Laravel, om veelvuldige databasisse te gebruik, moet ons die raamwerk opstel en veral die konfigurasielêer vir verbindings.

Kom ons kyk hoe om Laravel op te stel om veelvuldige databasisse te gebruik.

Geskatte leestyd: 4 minuti

File database.php in config Gids

Hierdie lêer is in die gids geleë config van jou Laravel-toepassing.

In die lêer database.php is moontlik definish veelvuldige databasisverbindings. Elke verbinding moet wees defias 'n skikking aangebring. Die skikking moet die volgende inligting bevat:

  • driver: die databasisbestuurder om te gebruik;
  • host: die naam host of die adres IP van die databasisbediener;
  • port: die databasisbediener se poortnommer;
  • database: die databasis naam;
  • username: die gebruikersnaam om aan die databasis te koppel;
  • password: die wagwoord om aan die databasis te koppel;

Byvoorbeeld, die volgende kode defiDaar is twee databasisverbindings, een vir MySQL en een vir 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',
        ],

Hoe om aan die DB te koppel

Na defiSodra jy databasisverbindings het, kan jy dit in jou kode gebruik Laravel. Om dit te doen, kan jy die facade van die databasis. Daar facade databasis bied 'n verenigde koppelvlak vir interaksie met databasisse.

Om tussen databasisverbindings te wissel, kan jy die metode gebruik Connection() van facade Databasisse. Die metode Connection() neem die naam van die databasisverbinding as 'n argument.

Byvoorbeeld, die volgende kode gaan van die mysql DB na die pgsql DB:

Innovasie nuusbrief
Moenie die belangrikste nuus oor innovasie mis nie. Registreer om hulle per e-pos te ontvang.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Sodra jy oorskakel na 'n databasisverbinding, kan jy dit gebruik om navraag te doen en met die databasis te kommunikeer.

Voordele van die gebruik van veelvuldige databasisse in Laravel

Daar is talle voordele verbonde aan die gebruik van veelvuldige databasisse in Laravel, insluitend:

  • Beter werkverrigting: Die gebruik van veelvuldige databasisse kan toepassingswerkverrigting verbeter deur data van verskillende tipes te skei. Byvoorbeeld, jy kan gebruikersdata in een databasis stoor en produkdata in 'n ander databasis.
  • Verbeterde sekuriteit: Die gebruik van veelvuldige databasisse kan toepassingsekuriteit verbeter deur data van verskillende tipes te skei. Byvoorbeeld, jy kan sensitiewe data in een databasis stoor en minder sensitiewe data in 'n ander databasis.
  • Groter skaalbaarheid: Die gebruik van veelvuldige databasisse kan jou toepassing meer skaalbaar maak deur jou toe te laat om jou data oor verskeie bedieners te versprei.

Beste praktyke vir die gebruik van veelvuldige databasisse in Laravel

Hier is 'n paar beste praktyke vir die gebruik van veelvuldige databasisse in Laravel:

  • Gebruik vriendelike name vir databasisverbindings: Dit sal dit makliker maak om databasisverbindings te identifiseer en te bestuur.
  • Gebruik die metode Connection() om van een af ​​te gaan DB na 'n ander - dit sal jou help om te verhoed dat jy per ongeluk hardloop navraag sul databasis verkeerde.
  • Gebruik 'n databasismigrasiestelsel om jou databasisskemas te bestuur – dit sal jou help om jou databasisskemas gesinchroniseer te hou oor al jou databasis.

gevolgtrekking

Die gebruik van veelvuldige databasisse in Laravel kan 'n uitstekende manier wees om die werkverrigting, sekuriteit en skaalbaarheid van u toepassing te verbeter. Deur die beste praktyke te volg wat in hierdie artikel beskryf word, kan u veelvuldige databasisse in Laravel effektief gebruik.

Verwante lesings

Ercole Palmeri

Innovasie nuusbrief
Moenie die belangrikste nuus oor innovasie mis nie. Registreer om hulle per e-pos te ontvang.

Onlangse artikels

Innoverende ingryping in Augmented Reality, met 'n Apple-kyker by die Catania Polikliniek

'n Oftalmoplastie-operasie met die Apple Vision Pro-kommersiële kyker is by die Catania Polikliniek uitgevoer ...

3 Mei 2024

Die voordele van inkleurbladsye vir kinders - 'n wêreld van magie vir alle ouderdomme

Die ontwikkeling van fyn motoriese vaardighede deur inkleur berei kinders voor vir meer komplekse vaardighede soos skryf. Om in te kleur...

2 Mei 2024

Die toekoms is hier: hoe die verskepingsbedryf die wêreldekonomie revolusioneer

Die vlootsektor is 'n ware globale ekonomiese moondheid, wat na 'n 150 miljard-mark navigeer het ...

1 Mei 2024

Uitgewers en OpenAI onderteken ooreenkomste om die vloei van inligting wat deur Kunsmatige Intelligensie verwerk word, te reguleer

Verlede Maandag het die Financial Times 'n ooreenkoms met OpenAI aangekondig. FT lisensieer sy wêreldklas-joernalistiek ...

30 April 2024