Padrão Banco de Dados

· Padrão Banco de Dados
Juan Kalleo
Juan Kalleo
Backend/API
This page hasn't been translated to English yet — showing the original Portuguese content.

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.