Artikelen

Hoe u Laravel configureert om meerdere databases in uw project te gebruiken

Normaal gesproken omvat een softwareontwikkelingsproject het gebruik van een database om gegevens op een gestructureerde manier op te slaan.

Voor specifieke projecten kan het nodig zijn om meerdere databases te gebruiken.

Als we met Laravel meerdere databases willen gebruiken, moeten we het raamwerk en in het bijzonder het verbindingsconfiguratiebestand configureren.

Laten we eens kijken hoe we Laravel kunnen configureren om meerdere databases te gebruiken.

Geschatte leestijd: 4 minuti

Dien in database.php in config directory

Dit bestand bevindt zich in de directory config van uw Laravel-applicatie.

In het bestand database.php è possibile defimaak meerdere databaseverbindingen tot stand. Elke verbinding moet dat zijn defisamengevoegd als een array. De array moet de volgende informatie bevatten:

  • driver: het te gebruiken databasestuurprogramma;
  • host: de naam host of het adres IP van de databaseserver;
  • port: het poortnummer van de databaseserver;
  • database: de databasenaam;
  • username: de gebruikersnaam om verbinding te maken met de database;
  • password: het wachtwoord om verbinding te maken met de database;

Bijvoorbeeld de volgende code defiEr zijn twee databaseverbindingen, één voor MySQL en één voor 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 verbinding te maken met de DB

Na defiZodra u databaseverbindingen heeft, kunt u deze in uw code gebruiken Laravel. Om dit te doen, kunt u gebruik maken van de facade van de databank. Daar facade database biedt een uniforme interface voor interactie met databases.

Om te schakelen tussen databaseverbindingen kunt u de methode gebruiken Connection() van facade Databases. De methode Connection() neemt de naam van de databaseverbinding als argument.

De volgende code gaat bijvoorbeeld van de mysql DB naar de pgsql DB:

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Zodra u overschakelt naar een databaseverbinding, kunt u deze gebruiken voor het opvragen van en communiceren met de database.

Voordelen van het gebruik van meerdere databases in Laravel

Er zijn talloze voordelen verbonden aan het gebruik van meerdere databases in Laravel, waaronder:

  • Betere prestaties: Het gebruik van meerdere databases kan de applicatieprestaties verbeteren door gegevens van verschillende typen te scheiden. U kunt bijvoorbeeld gebruikersgegevens in de ene database opslaan en productgegevens in een andere database.
  • Verbeterde beveiliging: Het gebruik van meerdere databases kan de beveiliging van applicaties verbeteren door gegevens van verschillende typen te scheiden. U kunt bijvoorbeeld gevoelige gegevens in de ene database opslaan en minder gevoelige gegevens in een andere database.
  • Grotere schaalbaarheid: Het gebruik van meerdere databases kan uw applicatie schaalbaarder maken doordat u uw gegevens over meerdere servers kunt distribueren.

Best practices voor het gebruik van meerdere databases in Laravel

Hier zijn enkele best practices voor het gebruik van meerdere databases in Laravel:

  • Gebruik beschrijvende namen voor databaseverbindingen: Dit maakt het gemakkelijker om databaseverbindingen te identificeren en te beheren.
  • Gebruik de methode Connection() om van één te gaan DB naar een andere - dit zal u helpen voorkomen dat u per ongeluk gaat rennen vraag op databank fout.
  • Gebruik een databasemigratiesysteem om uw databaseschema's te beheren. Dit zal u helpen uw databaseschema's voor al uw databases gesynchroniseerd te houden databank.

Conclusie

Het gebruik van meerdere databases in Laravel kan een geweldige manier zijn om de prestaties, beveiliging en schaalbaarheid van uw applicatie te verbeteren. Door de best practices te volgen die in dit artikel worden beschreven, kunt u meerdere databases in Laravel effectief gebruiken.

Gerelateerde lezingen

Ercole Palmeri

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.

Recente artikelen

Online betalingen: hier is hoe streamingdiensten u voor altijd laten betalen

Miljoenen mensen betalen voor streamingdiensten en betalen maandelijkse abonnementskosten. De algemene mening is dat je…

April 29 2024

Veeam biedt de meest uitgebreide ondersteuning voor ransomware, van bescherming tot respons en herstel

Coveware by Veeam zal responsdiensten op het gebied van cyberafpersingsincidenten blijven leveren. Coveware zal forensische en herstelmogelijkheden bieden...

April 23 2024

Groene en digitale revolutie: hoe voorspellend onderhoud de olie- en gasindustrie transformeert

Voorspellend onderhoud zorgt voor een revolutie in de olie- en gassector, met een innovatieve en proactieve benadering van fabrieksbeheer.…

April 22 2024

De Britse antitrusttoezichthouder slaat BigTech-alarm over GenAI

De Britse CMA heeft een waarschuwing afgegeven over het gedrag van Big Tech op de markt voor kunstmatige intelligentie. Daar…

April 18 2024