Banco de dados
Postgres — pelo addon do Railway ou por qualquer provedor.
O OpenCall usa Postgres através do Prisma. Qualquer Postgres gerenciado serve
— o requisito é um DATABASE_URL válido.
Opção A: addon do Railway
Se o Next.js vai pro Railway (ver Deploy produção (Railway)):
No seu projeto do Railway: New → Database → Add PostgreSQL.

No serviço do app, defina DATABASE_URL=${{Postgres.DATABASE_URL}} — o
Railway resolve a referência, sem você copiar connection string na mão.
Opção B: Neon (grátis)
Usado no Deploy demo (Render). Plano free, sem cartão, e dá pra criar inteiro pela linha de comando:
Instale a CLI:
npm install -g neonctlGere uma chave em Account settings → API keys e informe ela ao terminal:
export NEON_API_KEY="COLE_SUA_CHAVE_AQUI"Crie o projeto:
neonctl projects create --name opencall --output jsonPeça a connection string:
neonctl connection-string --output jsonUse a connection string pooled (o host com sufixo -pooler) como
DATABASE_URL.
Limites do Neon Free
0,5 GB por projeto e 100 CU-horas de compute por mês; o banco suspende após 5 minutos ocioso, somando ~1s na próxima query. Quando a cota mensal acaba, o compute fica suspenso até o próximo ciclo.
Criar as tabelas
Depois do primeiro deploy, com o DATABASE_URL configurado, rode uma vez:
pnpm prisma db pushIsso cria todas as tabelas do prisma/schema.prisma. Sem esse passo o app
builda e quebra na primeira query.
O repositório não versiona prisma/migrations/, então o comando é db push,
não migrate deploy.
Variáveis desta etapa
| Variável | Valor |
|---|---|
DATABASE_URL | postgresql://usuario:senha@host:5432/opencall |