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

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

Online betellingen: Hjir is hoe streamingtsjinsten jo foar altyd betelje

Miljoenen minsken betelje foar streamingtsjinsten, beteljen moanlikse abonnemintskosten. It is gewoane miening dat jo ...

29 april 2024

Veeam hat de meast wiidweidige stipe foar ransomware, fan beskerming oant antwurd en herstel

Coveware troch Veeam sil trochgean mei it leverjen fan antwurdtsjinsten foar cyberafpersing ynsidint. Coveware sil forensyske en sanearjen mooglikheden oanbiede ...

23 april 2024

Griene en digitale revolúsje: hoe foarsizzend ûnderhâld de oalje- en gassektor transformeart

Foarsizzend ûnderhâld revolúsjonearret de oalje- en gassektor, mei in ynnovative en proaktive oanpak foar plantbehear.…

22 april 2024