Decisões
ORG-0014 — Persistência
- Status: aceita
- Data: 2026-10-18
- Decide: sem banco padrão; armazenamentos escolhidos por critérios, com um dono do schema e testes contra o real
Contexto
Produtos diferentes guardam dados de jeitos diferentes: um banco relacional, documentos, filas, arquivos, cache. Impor um banco padrão força o produto; não decidir nada deixa cada stack sem backup testado, com testes contra simulacros e com várias aplicações mudando o mesmo schema.
Decisão
- Não há banco padrão. A stack escolhe os armazenamentos na Fase 1, pelos critérios: há ferramenta de backup e restauração testável localmente; há imagem oficial com tag completa; sobe em container nos testes e se zera rápido; o formato dos dados evolui de forma versionada; a plataforma sabe observar e guardar.
- A evolução do formato dos dados é versionada no repositório (migrations ou equivalente).
- Cada armazenamento tem um dono do schema; as demais aplicações não o alteram.
- No desenvolvimento e nos testes, o armazenamento é o real, descartável, em container. Nada de banco em memória que finge ser outro.
- A escolha fica numa ADR da stack (a ADR-0002 pré-escrita).
Alternativas consideradas
| Alternativa | Por que não |
|---|---|
| Um banco padrão para toda stack | Por que não: força produtos que não são relacionais |
| Banco em memória nos testes | Por que não: prova outro banco, não o de produção |
Consequências
- Toda escolha nova de armazenamento traz junto o backup (ORG-0022) e o ambiente do E2E (ORG-0016).
- Os testes de integração precisam de Docker.
Mais
O detalhe está na documentação da arquitetura.