1
resposta

Como configurar para ter acesso a dois banco de dados distintos?

Pensando em uma projeto que deverá ter acesso a dois bancos de dados distintos, como faço para configurar meu projeto usando Laravel?

1 resposta

Olá, estudante. Tudo bem?

Para configurar seu projeto Laravel para acessar dois bancos de dados distintos, você pode seguir os seguintes passos:

  1. Configuração no arquivo config/database.php:

    Primeiro, você precisa definir as conexões no arquivo config/database.php. No Laravel, você pode adicionar múltiplas conexões de banco de dados dentro do array connections. Por exemplo:

    'connections' => [
    
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
    
        'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_PGSQL_HOST', '127.0.0.1'),
            'database' => env('DB_PGSQL_DATABASE', 'forge'),
            'username' => env('DB_PGSQL_USERNAME', 'forge'),
            'password' => env('DB_PGSQL_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],
    
    ],
    

    Aqui, configuramos duas conexões: uma para MySQL e outra para PostgreSQL. Você pode substituir ou adicionar conforme suas necessidades.

  2. Configuração no arquivo .env:

    No arquivo .env, você deve definir as variáveis de ambiente para cada conexão. Por exemplo:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=root
    DB_PASSWORD=
    
    DB_PGSQL_HOST=127.0.0.1
    DB_PGSQL_DATABASE=laravel_pgsql
    DB_PGSQL_USERNAME=postgres
    DB_PGSQL_PASSWORD=
    

    As variáveis de ambiente devem corresponder às configurações que você definiu no config/database.php.

  3. Utilizando múltiplas conexões:

    Ao usar o Eloquent ou o Query Builder, você pode especificar qual conexão usar. Por exemplo:

    // Usando a conexão padrão
    $users = DB::table('users')->get();
    
    // Usando a conexão PostgreSQL
    $usersPgsql = DB::connection('pgsql')->table('users')->get();
    

    No exemplo acima, DB::connection('pgsql') especifica que a consulta deve ser executada usando a conexão PostgreSQL.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!