Artigos

Como configurar Laravel para usar varias bases de datos no seu proxecto

Normalmente un proxecto de desenvolvemento de software implica o uso dunha base de datos para almacenar datos de forma estruturada.

Para proxectos específicos pode ser necesario utilizar varias bases de datos.

Con Laravel, para utilizar varias bases de datos, necesitamos configurar o framework e en particular o ficheiro de configuración de conexións.

Vexamos como configurar Laravel para que use varias bases de datos.

Tempo estimado de lectura: 4 minutos

Arquivo database.php in config guía

Este ficheiro atópase no directorio config da súa aplicación Laravel.

No arquivo database.php é posible defifinalizar varias conexións de bases de datos. Toda conexión debe ser deficlasificado como unha matriz. A matriz debe conter a seguinte información:

  • driver: o controlador de base de datos a usar;
  • host: o nome host ou o enderezo IP do servidor de base de datos;
  • port: o número de porto do servidor de base de datos;
  • database: o nome da base de datos;
  • username: o nome de usuario para conectarse á base de datos;
  • password: o contrasinal para conectarse á base de datos;

Por exemplo, o seguinte código defiHai dúas conexións de base de datos, unha para MySQL e outra para 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',
        ],

Como conectarse ao DB

Despois defiUnha vez que teñas conexións á base de datos, podes usalas no teu código Laravel. Para iso, pode utilizar o facade da base de datos. Alí facade base de datos proporciona unha interface unificada para interactuar coas bases de datos.

Para cambiar entre conexións de base de datos, pode usar o método Connection() de facade Bases de datos. O método Connection() toma o nome da conexión de base de datos como argumento.

Por exemplo, o seguinte código vai da base de datos mysql á base de datos pgsql:

Boletín de innovación
Non te perdas as novidades máis importantes sobre innovación. Rexístrese para recibilos por correo electrónico.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Unha vez que cambie a unha conexión de base de datos, pode usala para consultar e interactuar coa base de datos.

Beneficios de usar varias bases de datos en Laravel

Hai numerosos beneficios ao usar varias bases de datos en Laravel, incluíndo:

  • Mellor rendemento: o uso de varias bases de datos pode mellorar o rendemento da aplicación separando datos de diferentes tipos. Por exemplo, pode almacenar datos de usuario nunha base de datos e datos de produtos noutra base de datos.
  • Aumento da seguridade: o uso de varias bases de datos pode mellorar a seguridade das aplicacións separando datos de diferentes tipos. Por exemplo, pode almacenar datos confidenciais nunha base de datos e datos menos sensibles noutra base de datos.
  • Maior escalabilidade: o uso de varias bases de datos pode facer que a túa aplicación sexa máis escalable ao permitirche distribuír os teus datos en varios servidores.

Mellores prácticas para usar varias bases de datos en Laravel

Aquí tes algunhas prácticas recomendadas para usar varias bases de datos en Laravel:

  • Use nomes amigables para as conexións de bases de datos: isto facilitará a identificación e xestión das conexións de bases de datos.
  • Use o método Connection() para ir dun DB a outro - isto axudarache a evitar correr accidentalmente pregunta sul base de datos mal.
  • Use un sistema de migración de base de datos para xestionar os seus esquemas de base de datos; isto axudaralle a manter os esquemas de base de datos sincronizados en todos os seus esquemas. base de datos.

conclusión

Usar varias bases de datos en Laravel pode ser unha boa forma de mellorar o rendemento, a seguridade e a escalabilidade da túa aplicación. Seguindo as mellores prácticas descritas neste artigo, podes usar varias bases de datos en Laravel de forma eficaz.

Lecturas relacionadas

Ercole Palmeri

Boletín de innovación
Non te perdas as novidades máis importantes sobre innovación. Rexístrese para recibilos por correo electrónico.

Artigos recentes

Pagos en liña: aquí tes como os servizos de streaming che fan pagar para sempre

Millóns de persoas pagan por servizos de streaming, pagando taxas de subscrición mensuais. É unha opinión común que vostede...

Abril 29 2024

Veeam ofrece o soporte máis completo para ransomware, desde a protección ata a resposta e a recuperación

Coveware by Veeam continuará ofrecendo servizos de resposta a incidentes de extorsión cibernética. Coveware ofrecerá capacidades forenses e de remediación...

Abril 23 2024

Revolución verde e dixital: como o mantemento preditivo está a transformar a industria do petróleo e do gas

O mantemento preditivo está a revolucionar o sector do petróleo e do gas, cun enfoque innovador e proactivo para a xestión das plantas...

Abril 22 2024

O regulador antimonopolio do Reino Unido alerta a BigTech sobre GenAI

A CMA do Reino Unido emitiu unha advertencia sobre o comportamento de Big Tech no mercado da intelixencia artificial. Alí…

Abril 18 2024