🚀 Oferta especial: 60% OFF no CrazyStack - Últimas vagas!Garantir vaga →
DevOps

Como separar variáveis de ambiente para banco de dados em produção e desenvolvimento

Descubra a maneira correta de organizar conexões de banco no desenvolvimento e produção, usando variáveis de ambiente e práticas que evitam erros comuns em projetos Node, React e backend.

CrazyStack
12 min de leitura
variáveis de ambientedeploybanco de dadosNodeproduçãodesenvolvimentosegurança

Por que isso é importante

Gerenciar corretamente conexões de banco de dados entre ambientes garante segurança, reduz riscos de sobrescrever dados sensíveis, evita incidentes de produção e torna o fluxo de deploy mais automatizável. Variáveis de ambiente são o padrão do mercado por isolarem configurações críticas e facilitarem o versionamento seguro.

O problema: bancos de dados diferentes em cada ambiente

Durante o desenvolvimento de uma aplicação, geralmente o banco de dados local ou de teste fica cheio de dados de exemplo, registros temporários e estruturas que mudam toda hora. Em produção, porém, o banco precisa estar limpo, seguro e configurado para performance máxima. Por isso, cada ambiente exige variáveis de conexão diferentes e um controle rígido sobre elas.

⚠️Atenção

Jamais utilize os mesmos dados de conexão em produção e desenvolvimento, pois isso pode acarretar perda de dados, brechas de segurança e inconsistências difíceis de rastrear.

O que são variáveis de ambiente .env?

Variáveis de ambiente são pares de chave-valor usados para configurar comportamentos de uma aplicação conforme o ambiente onde ela roda (desenvolvimento, homologação, produção). O arquivo .env centraliza essas definições, protegendo segredos e facilitando alterações sem mexer no código-fonte.

ℹ️Dica

A extensão .env para VS Code ativa syntax highlight, facilitando a leitura e evitando erros de digitação!

Quais variáveis usar para bancos de dados?

Em bancos PostgreSQL modernos, principalmente na nuvem (como Neon ou Railway), variáveis como PGHOST, PGDATABASE, PGUSER, PGPASSWORD e ENDPOINT_ID são essenciais para a conexão. Configure-as conforme o ambiente e nunca exponha senhas ou endpoints em repositórios públicos.

Atenção

Sempre coloque o arquivo .env no .gitignore para evitar exposição acidental de segredos em plataformas como GitHub!

Passo a passo para separar ambientes

1
Passo 1: Crie um arquivo chamado .env na raiz do projeto.
2
Passo 2: No .env, adicione as variáveis do banco de dados que serão diferentes em cada ambiente: PGHOST, PGDATABASE, PGUSER, PGPASSWORD, e se necessário ENDPOINT_ID.
3
Passo 3: Instale a extensão .env no VS Code para melhor experiência.
4
Passo 4: No arquivo .gitignore, adicione .env para garantir que o arquivo não será versionado.
5
Passo 5: Use uma ferramenta como dotenv (Node.js) ou configuração do framework para carregar as variáveis no ambiente correto.

Como usar diferentes arquivos .env por ambiente

Uma prática muito adotada é manter diferentes arquivos .env para cada ambiente: .env.development, .env.production, etc. O sistema escolhe automaticamente qual carregar, dependendo de onde sua aplicação está rodando, tornando o setup mais automatizado.

⚠️Cuidado!

Certifique-se de que cada ambiente sempre carrega o arquivo correto, principalmente durante deploys automáticos!

Exemplo prático de arquivo .env

Veja como ficaria um arquivo .env para um banco local e outro para produção com Postgres:
# .env.local
PGHOST=localhost
PGDATABASE=app_dev
PGUSER=postgres
PGPASSWORD=senha_segura

# .env.production
PGHOST=ep-servidor-azul.neon.tech
PGDATABASE=app_prod
PGUSER=admin
PGPASSWORD=outra_senha_segura
ENDPOINT_ID=abcd1234

Pro Tip

Você pode inserir comentários explicativos dentro do .env para lembrar qual valor é usado em cada ambiente!

Como sua aplicação lê as variáveis de ambiente?

O Node.js, por meio do pacote dotenv, lê o arquivo .env automaticamente no início da aplicação. Frameworks como Next.js, Remix e NestJS já integram essas variáveis no build e também permitem selecionar o arquivo certo via configuração interna.

ℹ️Atenção

Sempre reinicie a aplicação ao alterar valores do .env! Novas variáveis só são reconhecidas após reinicializar o servidor.

Erros comuns no uso das variáveis de ambiente

Alguns dos principais erros: esquecer de atualizar as variáveis em todos os ambientes; não colocar o .env no .gitignore; misturar dados de dev e prod no mesmo arquivo; escrever nomes de variáveis incorretamente.

Evite isso!

Se os dados do seu banco de produção vazarem, você pode comprometer dados de usuários reais. Redobre a atenção com backup e proteção das variáveis sensíveis!

Ferramentas recomendadas para gerenciar variáveis e bancos

dotenv

Carrega variáveis ambiente de arquivos .env para Node.js

Saiba mais →

VS Code Extension .env

Syntax highlight para arquivos .env

Saiba mais →

Neon

Banco de dados Postgres serverless, ótimo para ambientes modernos

Saiba mais →

pgAdmin

Interface visual para bancos Postgres locais ou na nuvem

Saiba mais →

Boas práticas para nunca mais errar

Separe claramente arquivos .env, use nomes padronizados para variáveis, nunca suba senhas para repositórios, mantenha um README de configuração detalhado no projeto e revise sempre as permissões do banco de dados em produção.

Dica de Ouro

Automatize seu deploy para só prosseguir se todas as variáveis estiverem corretamente definidas. Isso evita bugs difíceis de identificar.

Checklist de Implementação

Checklist de Implementação

Criei arquivos .env separados para cada ambiente
Configurei variáveis diferentes para dev e prod
Gitignore atualizado para não subir segredos
Testei deploy com variáveis em produção
Automatizei carregamento dos .env no framework usado

Domine React e Node com o CrazyStack

Aprenda técnicas avançadas de React com nosso curso completo