fix(prisma): garantir DATABASE_URL efetivo no runtime\n\n- Força resolução do DATABASE_URL ao instanciar PrismaClient com fallback seguro em produção para file:/app/data/db.sqlite.\n- Evita falha "Error code 14: Unable to open the database file" quando o runtime cai em path relativo do .env dentro do container.\n- Compatível com stack.yml (volume sistema_db montado em /app/data).

This commit is contained in:
Esdras Renan 2025-10-09 16:22:01 -03:00
parent 06c4efd173
commit d031acf7b8
2 changed files with 18 additions and 4 deletions

View file

@ -99,11 +99,13 @@ Acesso
## Zerodowntime (sem queda durante deploy)
Para evitar interrupção perceptível no deploy, habilitamos rollout "start-first" e múltiplas réplicas nos serviços web e Convex. O Traefik continua roteando para as tasks saudáveis enquanto uma task reinicia.
Para evitar interrupção perceptível no deploy, habilitamos rollout "start-first". Para este projeto, mantemos **1 réplica** (web e Convex) por segurança, pois:
- O web usa SQLite (Prisma); múltiplas réplicas concorrendo gravação no mesmo arquivo podem causar erros de lock/readonly.
- O Convex backend selfhosted não é clusterizado.
O `stack.yml` já inclui:
- `replicas: 2` para `web` e `convex_backend`.
- `update_config.order: start-first` + `failure_action: rollback`.
- `replicas: 1` + `update_config.order: start-first` (Swarm sobe a nova task saudável antes de desligar a antiga).
- `failure_action: rollback`.
- `healthcheck` por porta local, garantindo que o Swarm só troque quando a nova task estiver OK.
Se quiser ajustar recursos/estratégia: