3
respostas

Conexão ao banco de dados

Olá,

não estou conseguindo conectar no banco de dados. Eu não usei a versão 5.0 do Laravel, estou com a última versão, e acredito que o problema esteja na configuração de ambiente.

Já configurei o arquivo database.php, dessa forma:

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

Porém, está retornando o seguinte erro:

Illuminate \ Database \ QueryException (1045)
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from produtos)

Também já mexi no arquivo .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_estoque
DB_USERNAME=root
DB_PASSWORD=root

Mesmo assim não conecta. Alguém poderia me ajudar onde configuro a variável de ambiente, e para qual?

Att, Cesar Fuentes

3 respostas

Olá,

estava faltando um config:cache :)

Mas ficou a dúvida: qual a diferença entre o arquivo .env e a pasta config?

Oi Cesar, o .env serve pra você separar as configurações de ambientes diferentes, tipo, em desenvolvimento terá suas configurações locais, em ambientes de teste, terá as configurações do ambiente de teste e em produção, o ideal é que esteja na pasta conf ou em variáveis de ambiente do servidor.

Boa Cesar!

A ideia da pasta config é ser um ambiente onde você define regras gerais do sistema. A ideia do arquivo .env é definir constantes globais no sistema para os ambientes. Então os arquivos na pasta config podem consumir variaveis do arquivo .env, assim como qualquer outro ponto do sistema =)

Abraço!