Artikelen

Wéi konfiguréiert Laravel fir verschidde Datenbanken an Ärem Projet ze benotzen

Normalerweis beinhalt e Softwareentwécklungsprojet d'Benotzung vun enger Datebank fir Daten op eng strukturéiert Manéier ze späicheren.

Fir spezifesch Projeten kann et néideg sinn, verschidde Datenbanken ze benotzen.

Mat Laravel, fir verschidde Datenbanken ze benotzen, musse mir de Kader konfiguréieren a besonnesch d'Connections Configuratiounsdatei.

Loosst eis kucken wéi Dir Laravel konfiguréiert fir verschidde Datenbanken ze benotzen.

Geschätzte Lieszäit: 4 minuti

Fichier database.php in config directory

Dëse Fichier läit am Verzeechnes config vun Ärer Laravel Applikatioun.

Am Dossier database.php ass méiglech definish Multiple Datebank Verbindungen. All Verbindung muss sinn defials Array gesat. D'Array soll déi folgend Informatioun enthalen:

  • driver: den Datebank Chauffer ze benotzen;
  • host:numm host oder d'Adress IP vum Datebankserver;
  • port: d'Datebankserver Portnummer;
  • database: den Numm vun der Datebank;
  • username: de Benotzernumm fir mat der Datebank ze verbannen;
  • password: d'Passwuert fir d'Verbindung mat der Datebank;

Zum Beispill, de folgende Code defiEt ginn zwou Datebankverbindungen, eng fir MySQL an eng fir 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',
        ],

Wéi mat der DB ze verbannen

Nodeems defiWann Dir Datenbankverbindungen hutt, kënnt Dir se an Ärem Code benotzen Laravel. Fir dëst ze maachen, kënnt Dir d' facade vun der Datebank. Do facade Datebank bitt eng vereenegt Interface fir mat Datenbanken ze interagéieren.

Fir tëscht Datebankverbindungen ze wiesselen, kënnt Dir d'Method benotzen Connection() della facade Datenbanken. D'Method Connection() hëlt den Numm vun der Datebankverbindung als Argument.

Zum Beispill geet de folgende Code vun der mysql DB op d'pgsql DB:

Innovatioun Newsletter
Verpasst net déi wichtegst Neiegkeeten iwwer Innovatioun. Registréiert Iech fir se per E-Mail ze kréien.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Wann Dir op eng Datebankverbindung wiesselt, kënnt Dir se benotze fir d'Datebank ze froen an ze interagéieren.

Virdeeler fir verschidde Datenbanken zu Laravel ze benotzen

Et gi vill Virdeeler fir verschidde Datenbanken zu Laravel ze benotzen, dorënner:

  • Besser Leeschtung: D'Benotzung vu verschidde Datenbanken kann d'Appleistung verbesseren andeems d'Donnéeë vu verschiddenen Typen trennen. Zum Beispill kënnt Dir Benotzerdaten an enger Datebank späicheren a Produktdaten an enger anerer Datebank.
  • Méi Sécherheet: D'Benotzung vu verschidde Datenbanken kann d'Applikatiounssécherheet verbesseren andeems d'Donnéeë vu verschiddenen Typen trennen. Zum Beispill kënnt Dir sensibel Donnéeën an enger Datebank späicheren a manner sensibel Donnéeën an enger anerer Datebank.
  • Méi grouss Skalierbarkeet: D'Benotzung vu verschidde Datenbanken kann Är Applikatioun méi skalierbar maachen andeems Dir Är Donnéeën iwwer verschidde Serveren verdeelt.

Beschte Praktiken fir verschidde Datenbanken zu Laravel ze benotzen

Hei sinn e puer beschten Praktiken fir verschidde Datenbanken zu Laravel ze benotzen:

  • Benotzt frëndlech Nimm fir Datebankverbindungen: Dëst wäert et méi einfach maachen d'Datebankverbindungen z'identifizéieren an ze verwalten.
  • Benotzt d'Method Connection() vun engem goen DB zu engem aneren - dëst hëlleft Iech zoufälleg Lafen ze vermeiden Ufro sul Datebank falsch.
  • Benotzt e Datebankmigratiounssystem fir Är Datebankschemaen ze managen - dëst hëlleft Iech Är Datebankschemaen synchroniséiert iwwer all Är Datebank.

Konklusioun

D'Benotzung vu verschidde Datenbanken zu Laravel kann e super Wee sinn fir d'Performance, d'Sécherheet an d'Skalierbarkeet vun Ärer Applikatioun ze verbesseren. Andeems Dir déi bescht Praktiken an dësem Artikel beschriwwen hutt, kënnt Dir effektiv verschidde Datenbanken zu Laravel benotzen.

Zesummenhang Liesungen

Ercole Palmeri

Innovatioun Newsletter
Verpasst net déi wichtegst Neiegkeeten iwwer Innovatioun. Registréiert Iech fir se per E-Mail ze kréien.

Recent Artikelen

Verëffentlecher an OpenAI ënnerschreiwen Ofkommes fir de Flux vun Informatioun ze regléieren, déi vu Kënschtlech Intelligenz veraarbecht gëtt

De leschte Méindeg huet d'Financial Times en Deal mat OpenAI ugekënnegt. FT lizenzéiert säi Weltklass Journalismus ...

30 Abrëll 2024

Online Bezuelungen: Hei ass wéi Streaming Servicer Iech fir ëmmer bezuelen

Millioune vu Leit bezuelen fir Streaming Servicer, a bezuelen monatlecht Abonnementskäschte. Et ass allgemeng Meenung datt Dir ...

29 Abrëll 2024

Veeam huet déi ëmfaassendst Ënnerstëtzung fir Ransomware, vu Schutz bis Äntwert an Erhuelung

Coveware vu Veeam wäert weider Cyber ​​Erpressung Tëschefall Äntwert Servicer ubidden. Coveware wäert Forensik a Sanéierungsfäegkeeten ubidden ...

23 Abrëll 2024

Gréng an Digital Revolutioun: Wéi Predictive Maintenance Transforméiert d'Ueleg- a Gasindustrie

Predictive Maintenance revolutionéiert den Ueleg- a Gassektor, mat enger innovativer a proaktiver Approche fir d'Planzemanagement.…

22 Abrëll 2024