Pular para o conteúdo

7. Padrões · versão 2.0.0

Modelagem de dados

manifesto/architecture/04-modelagem-dados.md

Aplica-se quando a ADR muda o banco.

Práticas

  • Prisma (última versão) como fonte do schema (code-first), com migrations versionadas no repositório. A connection string vive em prisma.config.ts (não no schema) e o cliente usa driver adapter (ex.: @prisma/adapter-pg).
  • Schema multi-arquivo por domínio (prismaSchemaFolder): prisma/schema.prisma carrega apenas generator + datasource; cada domínio vive em prisma/models/<dominio>.prisma. Isso é o controle de domínios — cada área cresce no seu arquivo, com relações entre elas, espelhando a separação de domínios da API/OpenAPI.
  • Tipagem flui do schema para o restante do código (princípio 6).
  • A documentação dos models é flexível: quando uma ADR de banco justificar, cria-se .specs/model/ no projeto. Não se adianta essa pasta antes da necessidade.
  • Mudanças de schema previstas são declaradas no 003-plan.md.

Não fazer

  • Não deletar tabelas, colunas ou dados sem autorização explícita.
  • Não rodar migrations contra produção a partir do ambiente de desenvolvimento.