artikels

Hoe kinne jo Laravel ynstelle om meardere databases yn jo projekt te brûken

Normaal omfettet in softwareûntwikkelingsprojekt it gebrûk fan in databank foar it opslaan fan gegevens op in strukturearre manier.

Foar spesifike projekten kin it nedich wêze om meardere databases te brûken.

Mei Laravel, om meardere databases te brûken, moatte wy it ramt konfigurearje en benammen it konfiguraasjetriem fan ferbiningen.

Litte wy sjen hoe't jo Laravel konfigurearje om meardere databases te brûken.

Skatte lêstiid: 4 minuten

file database.php in config directory

Dit bestân stiet yn de map config fan jo Laravel-applikaasje.

Yn de triem database.php is mooglik definish meardere database ferbinings. Elke ferbining moat wêze defiynsteld as in array. De array moat de folgjende ynformaasje befetsje:

  • driver: it te brûken databankbestjoerder;
  • host: de namme host of it adres IP fan de databanktsjinner;
  • port: it poartenûmer fan de databanktsjinner;
  • database: de database namme;
  • username: de brûkersnamme foar ferbining mei de databank;
  • password: it wachtwurd foar ferbining mei de databank;

Bygelyks, de folgjende koade defiD'r binne twa databaseferbiningen, ien foar MySQL en ien foar 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 te ferbinen mei de DB

Nei defiAs jo ​​​​ienris databaseferbiningen hawwe, kinne jo se brûke yn jo koade Laravel. Om dit te dwaan, kinne jo gebrûk meitsje fan de facade fan de databank. Dêr facade databank biedt in unifoarme ynterface foar ynteraksje mei databases.

Om te wikseljen tusken databankferbiningen kinne jo de metoade brûke Connection() fan facade Databanken. De metoade Connection() nimt de namme fan 'e databankferbining as argumint.

Bygelyks, de folgjende koade giet fan 'e mysql DB nei de pgsql DB:

Ynnovaasje nijsbrief
Mis it wichtichste nijs oer ynnovaasje net. Meld jo oan om se fia e-post te ûntfangen.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

As jo ​​​​ienris oerskeakelje nei in databankferbining, kinne jo it brûke om te freegjen en te ynteraksje mei de databank.

Foardielen fan it brûken fan meardere databases yn Laravel

D'r binne ferskate foardielen foar it brûken fan meardere databases yn Laravel, ynklusyf:

  • Bettere prestaasjes: It brûken fan meardere databases kin de prestaasjes fan applikaasjes ferbetterje troch gegevens fan ferskate soarten te skieden. Jo kinne bygelyks brûkersgegevens yn ien database opslaan en produktgegevens yn in oare database.
  • Ferbettere feiligens: It brûken fan meardere databases kin applikaasjefeiligens ferbetterje troch gegevens fan ferskate soarten te skieden. Jo kinne bygelyks gefoelige gegevens opslaan yn ien databank en minder gefoelige gegevens yn in oare databank.
  • Gruttere skalberens: It brûken fan meardere databases kin jo applikaasje skalberber meitsje troch jo jo gegevens oer meardere servers te fersprieden.

Bêste praktiken foar it brûken fan meardere databases yn Laravel

Hjir binne wat bêste praktiken foar it brûken fan meardere databases yn Laravel:

  • Brûk freonlike nammen foar databankferbiningen: Dit sil it makliker meitsje om databankferbiningen te identifisearjen en te behearjen.
  • Brûk de metoade Connection() fan ien gean DB nei in oar - dit sil jo helpe om per ongelok rinnen te foarkommen query súdlik database ferkeard.
  • Brûk in databankmigraasjesysteem om jo databankskema's te behearjen - dit sil jo helpe om jo databankskema's syngronisearre te hâlden oer al jo database.

konklúzje

It brûken fan meardere databases yn Laravel kin in geweldige manier wêze om de prestaasjes, feiligens en skalberens fan jo applikaasje te ferbetterjen. Troch de bêste praktiken te folgjen beskreaun yn dit artikel, kinne jo meardere databases yn Laravel effektyf brûke.

Related Readings

Ercole Palmeri

Ynnovaasje nijsbrief
Mis it wichtichste nijs oer ynnovaasje net. Meld jo oan om se fia e-post te ûntfangen.

Recent articles

Ynnovative yntervinsje yn Augmented Reality, mei in Apple-sjogger by de Catania Polyclinic

In ophthalmoplasty-operaasje mei de Apple Vision Pro kommersjele werjouwer waard útfierd by de Catania Polyclinic ...

3 mei 2024

De foardielen fan kleurplaten foar bern - in wrâld fan magy foar alle leeftiden

It ûntwikkeljen fan fynmotoryske feardigens troch kleurjen taret bern op mear komplekse feardigens lykas skriuwen. Kleurje...

2 mei 2024

De takomst is hjir: hoe't de skipfeartsektor de wrâldekonomy revolúsjonearret

De marinesektor is in wiere wrâldwide ekonomyske macht, dy't navigearre is nei in merk fan 150 miljard ...

1 mei 2024

Utjouwers en OpenAI tekenje oerienkomsten om de stream fan ynformaasje te regeljen ferwurke troch Artificial Intelligence

Ofrûne moandei kundige de Financial Times in deal oan mei OpenAI. FT lisinsje har sjoernalistyk fan wrâldklasse ...

30 april 2024