bens

Como configurar o Laravel para usar múltiplos bancos de dados em seu projeto

Normalmente um projeto de desenvolvimento de software envolve a utilização de um Banco de Dados para armazenamento de dados de forma estruturada.

Para projetos específicos pode ser necessário utilizar múltiplos bancos de dados.

Com o Laravel, para utilizar múltiplos bancos de dados, precisamos configurar o framework e em particular o arquivo de configuração das conexões.

Vamos ver como configurar o Laravel para usar múltiplos bancos de dados.

Tempo estimado de leitura: 4 minutos

Envie o database.php in config anuário

Este arquivo está localizado no diretório config da sua aplicação Laravel.

No arquivo database.php é possível deficoncluir múltiplas conexões de banco de dados. Toda conexão deve ser defidefinido como uma matriz. A matriz deve conter as seguintes informações:

  • driver: o driver de banco de dados a ser usado;
  • host: o nome host ou o endereço IP do servidor de banco de dados;
  • port: o número da porta do servidor de banco de dados;
  • database: o nome do banco de dados;
  • username: o nome de usuário para conexão ao banco de dados;
  • password: a senha para conexão ao banco de dados;

Por exemplo, o seguinte código defiExistem duas conexões de banco de dados, uma 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 se conectar ao banco de dados

Depois defiDepois de ter conexões com o banco de dados, você poderá usá-las em seu código Laravel. Para fazer isso, você pode usar o facade do banco de dados. Lá facade banco de dados fornece uma interface unificada para interagir com bancos de dados.

Para alternar entre conexões de banco de dados, você pode usar o método Connection() de facade Bancos de dados. O método Connection() usa o nome da conexão com o banco de dados como argumento.

Por exemplo, o código a seguir vai do banco de dados mysql para o banco de dados pgsql:

Boletim de inovação
Não perca as notícias mais importantes sobre inovação. Cadastre-se para recebê-los por e-mail.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Depois de mudar para uma conexão de banco de dados, você poderá usá-la para consultar e interagir com o banco de dados.

Benefícios de usar vários bancos de dados no Laravel

Existem inúmeros benefícios em usar vários bancos de dados no Laravel, incluindo:

  • Melhor desempenho: o uso de vários bancos de dados pode melhorar o desempenho do aplicativo, separando dados de diferentes tipos. Por exemplo, você pode armazenar dados de usuários em um banco de dados e dados de produtos em outro banco de dados.
  • Maior segurança: O uso de vários bancos de dados pode melhorar a segurança do aplicativo, separando dados de diferentes tipos. Por exemplo, você pode armazenar dados confidenciais em um banco de dados e dados menos confidenciais em outro banco de dados.
  • Maior escalabilidade: O uso de vários bancos de dados pode tornar seu aplicativo mais escalável, permitindo distribuir seus dados por vários servidores.

Melhores práticas para usar vários bancos de dados no Laravel

Aqui estão algumas práticas recomendadas para usar vários bancos de dados no Laravel:

  • Use nomes amigáveis ​​para conexões de banco de dados: Isso facilitará a identificação e o gerenciamento de conexões de banco de dados.
  • Use o método Connection() ir de um DB para outro - isso ajudará você a evitar executar acidentalmente pergunta em banco de dados enganado.
  • Use um sistema de migração de banco de dados para gerenciar seus esquemas de banco de dados – isso ajudará você a manter seus esquemas de banco de dados sincronizados em todos os seus banco de dados.

conclusão

Usar vários bancos de dados no Laravel pode ser uma ótima maneira de melhorar o desempenho, a segurança e a escalabilidade da sua aplicação. Seguindo as práticas recomendadas descritas neste artigo, você pode usar vários bancos de dados no Laravel de forma eficaz.

Leituras Relacionadas

Ercole Palmeri

Boletim de inovação
Não perca as notícias mais importantes sobre inovação. Cadastre-se para recebê-los por e-mail.

Artigos recentes

O futuro está aqui: como a indústria naval está revolucionando a economia global

O setor naval é uma verdadeira potência económica global, que navegou para um mercado de 150 mil milhões...

1 Maio 2024

Editoras e OpenAI assinam acordos para regular o fluxo de informações processadas por Inteligência Artificial

Na segunda-feira passada, o Financial Times anunciou um acordo com a OpenAI. O FT licencia seu jornalismo de classe mundial…

Abril 30 2024

Pagamentos online: veja como os serviços de streaming fazem você pagar para sempre

Milhões de pessoas pagam por serviços de streaming, pagando assinaturas mensais. É opinião comum que você…

Abril 29 2024

A Veeam oferece o suporte mais abrangente para ransomware, desde proteção até resposta e recuperação

A Coveware by Veeam continuará a fornecer serviços de resposta a incidentes de extorsão cibernética. A Coveware oferecerá recursos forenses e de remediação…

Abril 23 2024