Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Banco de dados Laravel

Srs, bom dia.

Alguém pode me ajudar, como eu consigo trabalhar com duas bases de dados no laravel? Eu tenho duas bases diferentes eu gostaria de chama-las na minha aplicação. Acho que meu key é mysql e aponta para bancos diferentes, erro pode estar aqui.

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'estoque'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'loja_nodejs'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],
3 respostas
solução!

Leandro, bom dia. Qual erro está acontecendo?

Daniel, bom dia. Eu consegui resolver, vou deixar o código caso alguém queira aplicar a mesma regra. Obrigado pelo breve retorno.

Alterar .env: informar o banco 1 e 2

DB_CONNECTION=estoque
DB_DATABASE1=estoque
DB_USERNAME1=root
DB_PASSWORD1=

DB_DATABASE2=loja_nodejs
DB_USERNAME2=root
DB_PASSWORD2=

em config/database.php

Alterar de:
'default' => env('DB_CONNECTION', '-'),
Para:
    'default' => env('DB_CONNECTION', 'mysql'),

Incluir os bancos retirando a função env de database, username e password. E mudar o nome do banco, no meu caso ficou estoque e loja_nodejs

        'estoque' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => 'estoque',
            'username' => 'root',
            'password' => '',
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],        

'loja_nodejs' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => 'loja_nodejs',
            'username' => 'root',
            'password' => '',
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
        ],       

O comentário anterior está incorreto, segue o certo.

Alterar de:
 'default' => env('DB_CONNECTION', 'mysql'),
Para:
'default' => env('DB_CONNECTION', '-'),