Padrão Banco de Dados
Tecnologia principal: PostgreSQL + ActiveRecord (Ruby on Rails 8). Camada separada de propósito do Padrão API: lá é contrato HTTP, aqui é schema, migration e model. As duas se encontram no mesmo código real, mas merecem cada uma sua própria régua.
Visão geral
Esta área documenta como o schema é modelado numa API Rails real, multi-tenant, em produção: convenção de nome de tabela, como a hierarquia de tenant é representada no banco, trilha de auditoria, soft delete, e a disciplina de migration que mantém tudo isso consistente conforme o projeto cresce. PostgreSQL, ActiveRecord — sem exagero de abstração: regra simples, aplicada sem exceção.
Modelagem base
Modelagem base
documenta o que todo model ganha de graça ao herdar de
ApplicationRecord — auditoria, soft delete, versionamento, limite de
tamanho de campo — sem precisar declarar nada disso de novo a cada model.
Nomenclatura e módulos
Nomenclatura e módulos
documenta o prefixo de uma letra por módulo de negócio (a_, g_, c_)
— o que cada um significa e a única exceção deliberada à regra.
Multi-tenancy
Multi-tenancy documenta a hierarquia real tenant → órgão → unidade → usuário, com schema real, e onde o isolamento entre tenant é de fato aplicado.
Tabela de referência em vez de enum
Tabela de referência em vez de enum
documenta uma regra deliberada deste projeto: zero enum do Rails, zero
string mágica — todo campo que "parece enum" vira tabela própria com FK.
Migrations
Migrations
documenta o formato real de toda migration do projeto: idempotente,
up/down explícitos, e as colunas de auditoria que entram por padrão
em toda tabela nova.
Tecnologias
Tecnologias cobre PaperTrail (versionamento) e paranoia (soft delete) — o quê, o porquê, a versão e um exemplo real de cada uma.