0005 — BIGSERIAL como PK nas tabelas bi_*¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-06-11 · Decidido em: 2026-04-01
Contexto¶
A regra cross-project X-Adm para PK de tabelas bi_* tem como ideal
UUID v7 DEFAULT uuidv7() (bom para geração distribuída e clientes móveis).
Mas as bi_* deste projeto sincronizam via PowerSync, e a dúvida era se
BIGSERIAL seria aceito.
Decisão¶
Usar BIGSERIAL em bi_faturamento e bi_movimento (e id TEXT = chave
semântica em bi_configuracao). Confirmado em produção: PowerSync 1.20+
aceita BIGSERIAL na replicação.
Consequências¶
- Simplicidade; não é débito técnico — é escolha consciente, documentada na
regra cross-project do
CLAUDE.md. - Difere do Onpetro (que usa
uuidv7()com sync ativo) — divergência legítima por domínio; ambas as formas são aceitas pela regra. - A escrita é centralizada no ERP, então não há ganho prático de PK distribuída.
Alternativas consideradas¶
uuidv7()DEFAULT: ideal para geração distribuída/mobile, mas desnecessário aqui (o ERP é a única fonte de escrita). Descartado por não agregar.- Paridade forçada com o Onpetro: as divergências de PK entre os dois apps já são aceitas pela regra; não vale reescrever só por uniformidade.