Articles

Com configurar Laravel per utilitzar diverses bases de dades al vostre projecte

Normalment, un projecte de desenvolupament de programari implica l'ús d'una base de dades per emmagatzemar dades de manera estructurada.

Per a projectes específics pot ser necessari utilitzar diverses bases de dades.

Amb Laravel, per utilitzar múltiples bases de dades, hem de configurar el framework i en particular el fitxer de configuració de connexions.

Vegem com configurar Laravel per utilitzar diverses bases de dades.

Temps estimat de lectura: 4 acta

Dossier database.php in config directory

Aquest fitxer es troba al directori config de la vostra aplicació Laravel.

A l'arxiu database.php és possible defifinalitzar múltiples connexions de base de dades. Tota connexió ha de ser definitat com una matriu. La matriu ha de contenir la informació següent:

  • driver: el controlador de base de dades a utilitzar;
  • host: el nom host o l'adreça IP del servidor de bases de dades;
  • port: el número de port del servidor de bases de dades;
  • database: el nom de la base de dades;
  • username: el nom d'usuari per connectar-se a la base de dades;
  • password: la contrasenya per connectar-se a la base de dades;

Per exemple, el codi següent defiHi ha dues connexions de bases de dades, una per a MySQL i una altra per a 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',
        ],

Com connectar-se a la base de dades

Després defiUn cop tingueu connexions a la base de dades, podeu utilitzar-les al vostre codi Laravel. Per fer-ho, podeu utilitzar el facade de la base de dades. Allà facade base de dades proporciona una interfície unificada per interactuar amb bases de dades.

Per canviar entre connexions de base de dades, podeu utilitzar el mètode Connection() de facade Bases de dades. El mètode Connection() pren el nom de la connexió de base de dades com a argument.

Per exemple, el codi següent passa de la base de dades mysql a la base de dades pgsql:

Butlletí d'innovació
No et perdis les notícies més importants sobre innovació. Registra't per rebre'ls per correu electrònic.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Un cop canvieu a una connexió de base de dades, podeu utilitzar-la per consultar i interactuar amb la base de dades.

Beneficis d'utilitzar diverses bases de dades a Laravel

Hi ha nombrosos avantatges per utilitzar diverses bases de dades a Laravel, com ara:

  • Millor rendiment: l'ús de diverses bases de dades pot millorar el rendiment de l'aplicació separant dades de diferents tipus. Per exemple, podeu emmagatzemar dades d'usuari en una base de dades i dades de producte en una altra base de dades.
  • Augment de la seguretat: l'ús de diverses bases de dades pot millorar la seguretat de les aplicacions separant dades de diferents tipus. Per exemple, podeu emmagatzemar dades sensibles en una base de dades i dades menys sensibles en una altra.
  • Major escalabilitat: l'ús de diverses bases de dades pot fer que la vostra aplicació sigui més escalable, ja que us permet distribuir les vostres dades entre diversos servidors.

Bones pràctiques per utilitzar diverses bases de dades a Laravel

Aquestes són algunes de les millors pràctiques per utilitzar diverses bases de dades a Laravel:

  • Utilitzeu noms amigables per a les connexions de base de dades: això facilitarà la identificació i la gestió de les connexions a la base de dades.
  • Utilitzeu el mètode Connection() passar d'un DB a un altre: això us ajudarà a evitar córrer accidentalment pregunta sul database mal.
  • Utilitzeu un sistema de migració de bases de dades per gestionar els vostres esquemes de bases de dades; això us ajudarà a mantenir els vostres esquemes de bases de dades sincronitzats a tots els vostres database.

conclusió

L'ús de diverses bases de dades a Laravel pot ser una bona manera de millorar el rendiment, la seguretat i l'escalabilitat de la vostra aplicació. Seguint les millors pràctiques descrites en aquest article, podeu utilitzar diverses bases de dades a Laravel de manera eficaç.

Lectures relacionades

Ercole Palmeri

Butlletí d'innovació
No et perdis les notícies més importants sobre innovació. Registra't per rebre'ls per correu electrònic.

Articles recents

Pagaments en línia: aquí teniu com els serveis de streaming us fan pagar per sempre

Milions de persones paguen per serveis de streaming, pagant quotes de subscripció mensuals. És l'opinió comuna que tu...

29 2024 abril

Veeam ofereix el suport més complet per a ransomware, des de la protecció fins a la resposta i la recuperació

Coveware de Veeam continuarà oferint serveis de resposta a incidents d'extorsió cibernètica. Coveware oferirà capacitats forenses i de reparació...

23 2024 abril

Revolució verda i digital: com el manteniment predictiu està transformant la indústria del petroli i del gas

El manteniment predictiu està revolucionant el sector del petroli i el gas, amb un enfocament innovador i proactiu a la gestió de les plantes.…

22 2024 abril

El regulador antimonopoli del Regne Unit aixeca l'alarma de BigTech sobre GenAI

La CMA del Regne Unit ha emès una advertència sobre el comportament de Big Tech al mercat de la intel·ligència artificial. Allà…

18 2024 abril