Artiklid

Kuidas konfigureerida Laravelit kasutama oma projektis mitut andmebaasi

Tavaliselt hõlmab tarkvara arendusprojekt andmebaasi kasutamist andmete struktureeritud salvestamiseks.

Konkreetsete projektide puhul võib osutuda vajalikuks kasutada mitut andmebaasi.

Laraveliga peame mitme andmebaasi kasutamiseks konfigureerima raamistiku ja eelkõige ühenduste konfiguratsioonifaili.

Vaatame, kuidas konfigureerida Laravelit kasutama mitut andmebaasi.

Eeldatav lugemisaeg: 4 minutit

fail database.php in config kataloog

See fail asub kataloogis config teie Laraveli rakendusest.

Failis database.php on võimalik defiluua mitu andmebaasiühendust. Iga ühendus peab olema definited massiivina. Massiiv peaks sisaldama järgmist teavet:

  • driver: kasutatav andmebaasi draiver;
  • host: nimi host või aadress IP andmebaasiserver;
  • port: andmebaasiserveri pordi number;
  • database: andmebaasi nimi;
  • username: kasutajanimi andmebaasiga ühenduse loomiseks;
  • password: parool andmebaasiga ühenduse loomiseks;

Näiteks järgmine kood defiAndmebaasiühendusi on kaks, üks MySQL-i ja teine ​​PostgreSQL-i jaoks:

'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',
        ],

Kuidas DB-ga ühendust luua

Pärast defiKui teil on andmebaasiühendused, saate neid oma koodis kasutada Laravel. Selleks saate kasutada facade andmebaasist. Seal facade andmebaas pakub ühtset liidest andmebaasidega suhtlemiseks.

Andmebaasiühenduste vahel vahetamiseks võite kasutada meetodit Connection() kohta facade Andmebaasid. Meetod Connection() võtab argumendina andmebaasiühenduse nime.

Näiteks järgmine kood läheb mysql DB-st pgsql DB-sse:

Innovatsiooni uudiskiri
Ärge jätke ilma kõige olulisematest uuendustest. Registreeruge, et saada neid meili teel.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Kui olete lülitunud andmebaasiühendusele, saate seda kasutada andmebaasi päringute tegemiseks ja sellega suhtlemiseks.

Mitme andmebaasi kasutamise eelised Laravelis

Mitme andmebaasi kasutamisel Laravelis on palju eeliseid, sealhulgas:

  • Parem jõudlus: mitme andmebaasi kasutamine võib parandada rakenduse jõudlust, eraldades eri tüüpi andmed. Näiteks võite salvestada kasutajaandmed ühte andmebaasi ja tooteandmed teise andmebaasi.
  • Suurem turvalisus: mitme andmebaasi kasutamine võib parandada rakenduste turvalisust, eraldades eri tüüpi andmed. Näiteks võite talletada tundlikke andmeid ühes andmebaasis ja vähem tundlikke andmeid teises andmebaasis.
  • Suurem skaleeritavus: mitme andmebaasi kasutamine võib muuta teie rakenduse skaleeritavamaks, võimaldades teil oma andmeid levitada mitme serveri vahel.

Parimad tavad mitme andmebaasi kasutamiseks Laravelis

Siin on mõned parimad tavad mitme andmebaasi kasutamiseks Laravelis:

  • Kasutage andmebaasiühenduste jaoks sõbralikke nimesid: see muudab andmebaasiühenduste tuvastamise ja haldamise lihtsamaks.
  • Kasutage meetodit Connection() ühest minema DB teisele – see aitab vältida kogemata jooksmist päringu edasi andmebaas vale.
  • Kasutage oma andmebaasiskeemide haldamiseks andmebaasi migratsioonisüsteemi – see aitab teil hoida andmebaasiskeeme sünkroonis kõigis andmebaas.

järeldus

Mitme andmebaasi kasutamine Laravelis võib olla suurepärane viis rakenduse jõudluse, turvalisuse ja mastaapsuse parandamiseks. Järgides selles artiklis kirjeldatud parimaid tavasid, saate Laravelis tõhusalt kasutada mitut andmebaasi.

Seotud lugemised

Ercole Palmeri

Innovatsiooni uudiskiri
Ärge jätke ilma kõige olulisematest uuendustest. Registreeruge, et saada neid meili teel.

Viimased artiklid

Lastele mõeldud värvimislehtede eelised – võlumaailm igas vanuses

Peenmotoorika arendamine värvimise kaudu valmistab lapsi ette keerukamate oskuste, nagu kirjutamise, jaoks. Värvimiseks…

2 mai 2024

Tulevik on käes: kuidas laevandustööstus muudab maailmamajandust murranguliseks

Meresõidusektor on tõeline ülemaailmne majanduslik jõud, mis on liikunud 150 miljardi suuruse turu poole...

1 mai 2024

Kirjastajad ja OpenAI sõlmivad lepinguid tehisintellekti poolt töödeldava teabe liikumise reguleerimiseks

Eelmisel esmaspäeval teatas Financial Times tehingust OpenAI-ga. FT litsentsib oma maailmatasemel ajakirjandust…

Aprill 30 2024

Veebimaksed: voogesitusteenused panevad teid igaveseks maksma

Miljonid inimesed maksavad voogedastusteenuste eest, makstes igakuist liitumistasu. Levinud on arvamus, et sa…

Aprill 29 2024