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

De nieuwe kunstmatige intelligentie van Google kan DNA, RNA en ‘alle moleculen van het leven’ modelleren

Google DeepMind introduceert een verbeterde versie van zijn kunstmatige-intelligentiemodel. Het nieuwe, verbeterde model biedt niet alleen…

9 mei 2024

Ontdek de modulaire architectuur van Laravel

Laravel, beroemd om zijn elegante syntaxis en krachtige functies, biedt ook een solide basis voor modulaire architectuur. Daar…

9 mei 2024

Cisco Hypershield en overname van Splunk Het nieuwe tijdperk van beveiliging begint

Cisco en Splunk helpen klanten hun reis naar het Security Operations Center (SOC) van de toekomst te versnellen met…

8 mei 2024

Naast de economische kant: de niet voor de hand liggende kosten van ransomware

Ransomware heeft het nieuws de afgelopen twee jaar gedomineerd. De meeste mensen weten heel goed dat aanvallen...

6 mei 2024

Innovatieve interventie in Augmented Reality, met een Apple-viewer op de Catania Polyclinic

Een oftalmoplastiekoperatie met behulp van de Apple Vision Pro-commercialviewer werd uitgevoerd in de Catania-polikliniek ...

3 mei 2024

De voordelen van kleurplaten voor kinderen - een wereld van magie voor alle leeftijden

Het ontwikkelen van fijne motoriek door middel van kleuren bereidt kinderen voor op complexere vaardigheden zoals schrijven. Kleuren…

2 mei 2024

De toekomst is hier: hoe de scheepvaartindustrie een revolutie teweegbrengt in de wereldeconomie

De marinesector is een echte mondiale economische macht, die is genavigeerd naar een markt van 150 miljard...

1 mei 2024

Uitgevers en OpenAI ondertekenen overeenkomsten om de informatiestroom die door kunstmatige intelligentie wordt verwerkt, te reguleren

Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...

April 30 2024