Todos os artigos
FT-CATALOG-VERSIONING-V1· 1.0.0Integrações

Catálogo: versionamento + snapshots

Tire fotos imutáveis do estado do catálogo num momento. Mappings podem referenciar o snapshot que originou eles. Diff visual entre snapshot e estado atual.

Atualizado em 5/17/2026

Versionamento + Snapshots do catálogo



Catálogo evolui — XSD/EDMX são atualizados, IA sugere novos fields, admin promove sugestões. Snapshots capturam estado imutável num ponto no tempo.

Caso de uso enterprise



"Esse mapping foi gerado contra X12-850 v2026-05-17, snapshot abc. Atual é v2026-06-30 — diff: 4 fields adicionados, 2 removidos, 1 mudou de tipo."

Auditoria + drift tracking + recover de estado anterior.

Como criar



No /edi-hub/catalogo (super_admin), cada message tem ícone GitBranch na lista de ações. Click abre o modal:
  • Lista todos os snapshots ordenados por data.
  • Input "Tirar foto do estado atual" com motivo opcional (e.g. "antes do refresh SAP S/4 2026").
  • Por snapshot: botão "Diff vs atual" mostra adds/removes/changes.


Schema



Tabela catalog_snapshots:
  • payload jsonb: snapshot completo (LocalFormat inteiro).
  • field_count, source dominante, version_label, generated_from, reason.
  • created_by, created_at.
  • FK opcional catalog_user_message_id ON DELETE SET NULL — preserva histórico mesmo se overlay sumir.


Tabela mappings ganhou colunas opcionais source_catalog_snapshot_id e destination_catalog_snapshot_id (FK SET NULL). Mappings novos podem referenciar o snapshot que originou. NULL = legacy.

Diff



diffSnapshots(before, after) é puro — compara fields por name, detecta mudanças em type/length/required/source/precision/scale/pattern. Devolve {added, removed, changed (com lista), unchangedCount}.

Tickets



  • #207.5 implementação (PR #50).

Histórico de versões

  • 1.0.0

    Catalog versioning + snapshots imutáveis. Migration catalog_snapshots (PK uuid, FK opcional catalog_user_message_id, payload jsonb, audit fields). Mappings ganham source/destination_catalog_snapshot_id FK. Helpers createCatalogSnapshot + diffSnapshots (puro). 3 endpoints (POST snapshot, GET list, POST diff). CatalogVersionsModal UI com lista + create + diff vs current. PR #50.

    5/17/2026 · new