Članki

Kako konfigurirati Laravel za uporabo več baz podatkov v vašem projektu

Običajno projekt razvoja programske opreme vključuje uporabo zbirke podatkov za strukturirano shranjevanje podatkov.

Za posebne projekte bo morda potrebna uporaba več baz podatkov.

Pri Laravelu moramo za uporabo več baz podatkov konfigurirati ogrodje in zlasti konfiguracijsko datoteko povezav.

Poglejmo, kako konfigurirati Laravel za uporabo več baz podatkov.

Predvideni čas branja: 4 min

file database.php in config imenik

Ta datoteka se nahaja v imeniku config vaše aplikacije Laravel.

V datoteki database.php je možno defiprekinite več povezav baze podatkov. Vsaka povezava mora biti defiNit kot niz. Matrika mora vsebovati naslednje podatke:

  • driver: gonilnik baze podatkov za uporabo;
  • host: ime host ali naslov IP strežnika baze podatkov;
  • port: številka vrat strežnika baze podatkov;
  • database: ime baze podatkov;
  • username: uporabniško ime za povezavo z bazo podatkov;
  • password: geslo za povezavo z bazo podatkov;

Na primer naslednja koda defiObstajata dve povezavi baze podatkov, ena za MySQL in ena za 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',
        ],

Kako se povezati z DB

Po defiKo imate povezave z bazo podatkov, jih lahko uporabite v svoji kodi Laravel. Če želite to narediti, lahko uporabite facade baze podatkov. tam facade baza podatkov zagotavlja enoten vmesnik za interakcijo z bazami podatkov.

Za preklapljanje med povezavami baze podatkov lahko uporabite metodo Connection() od facade Baze podatkov. Metoda Connection() vzame ime povezave z bazo podatkov kot argument.

Naslednja koda gre na primer iz DB mysql v DB pgsql:

Glasilo o inovacijah
Ne zamudite najpomembnejših novic o inovacijah. Prijavite se, če jih želite prejemati po e-pošti.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Ko preklopite na povezavo z bazo podatkov, jo lahko uporabite za poizvedovanje in interakcijo z bazo podatkov.

Prednosti uporabe več baz podatkov v Laravelu

Uporaba več baz podatkov v Laravelu ima številne prednosti, vključno z:

  • Boljša zmogljivost: uporaba več baz podatkov lahko izboljša zmogljivost aplikacije z ločevanjem podatkov različnih vrst. Uporabniške podatke lahko na primer shranite v eno zbirko podatkov in podatke o izdelkih v drugo zbirko podatkov.
  • Povečana varnost: uporaba več baz podatkov lahko izboljša varnost aplikacije z ločevanjem podatkov različnih vrst. Na primer, lahko shranite občutljive podatke v eno zbirko podatkov in manj občutljive podatke v drugo zbirko podatkov.
  • Večja razširljivost: uporaba več baz podatkov lahko naredi vašo aplikacijo bolj razširljivo, saj vam omogoča distribucijo podatkov na več strežnikih.

Najboljše prakse za uporabo več baz podatkov v Laravelu

Tukaj je nekaj najboljših praks za uporabo več baz podatkov v Laravelu:

  • Uporabite prijazna imena za povezave z bazo podatkov: To bo olajšalo prepoznavanje in upravljanje povezav z bazo podatkov.
  • Uporabite metodo Connection() iti od enega DB drugemu - tako se boste izognili nenamernemu teku poizvedba na Baza podatkov narobe.
  • Za upravljanje shem baze podatkov uporabite sistem za selitev baze podatkov – to vam bo pomagalo ohraniti sheme baze podatkov sinhronizirane v vseh vaših Baza podatkov.

zaključek

Uporaba več baz podatkov v Laravelu je lahko odličen način za izboljšanje zmogljivosti, varnosti in razširljivosti vaše aplikacije. Z upoštevanjem najboljših praks, opisanih v tem članku, lahko učinkovito uporabljate več baz podatkov v Laravelu.

Sorodna branja

Ercole Palmeri

Glasilo o inovacijah
Ne zamudite najpomembnejših novic o inovacijah. Prijavite se, če jih želite prejemati po e-pošti.

Nedavni članki

Veeam ponuja najobsežnejšo podporo za izsiljevalsko programsko opremo, od zaščite do odziva in obnovitve

Coveware by Veeam bo še naprej zagotavljal storitve odzivanja na incidente kibernetskega izsiljevanja. Coveware bo nudil forenziko in zmogljivosti sanacije ...

April 23 2024

Zelena in digitalna revolucija: kako predvideno vzdrževanje preoblikuje naftno in plinsko industrijo

Prediktivno vzdrževanje revolucionira sektor nafte in plina z inovativnim in proaktivnim pristopom k upravljanju obratov.…

April 22 2024

Britanski protimonopolni regulator sproži alarm BigTech zaradi GenAI

Britanski CMA je izdal opozorilo glede obnašanja Big Tech na trgu umetne inteligence. tam …

April 18 2024

Casa Green: energetska revolucija za trajnostno prihodnost v Italiji

Odlok "Case Green", ki ga je oblikovala Evropska unija za povečanje energetske učinkovitosti stavb, je zaključil svoj zakonodajni postopek z ...

April 18 2024