Pular para o conteúdo

Modelagem de dados

Aplica-se quando a ADR muda o banco.

  • 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 deletar tabelas, colunas ou dados sem autorização explícita.
  • Não rodar migrations contra produção a partir do ambiente de desenvolvimento.

Criado por Joseph Trupel