Política de esquema.
A política de esquema controla quanto desvio é aceitável antes de uma gravação de destino. Deve tornar-se mais rigoroso à medida que os dados passam da captura bruta para o consumo com curadoria.
Políticas
| Política | Comportamento | Uso típico |
|---|---|---|
permissive | Permite ampla movimentação de esquema. | Aterrissagem bruta e exploração inicial. |
additive_only | Permite novas colunas, remoções de blocos e alterações de tipos inseguros. | Mesas com curadoria de prata. |
strict | Requer alinhamento de esquema de origem e destino. | Modelos de consumo de ouro. |
Exemplos
- YAML
- Python
schema_policy: additive_only
allow_type_widening: true
delta_properties:
delta.enableChangeDataFeed: "true"
delta.autoOptimize.optimizeWrite: "true"
result = ingest(
...,
schema_policy="additive_only",
allow_type_widening=True,
delta_properties={
"delta.enableChangeDataFeed": "true",
"delta.autoOptimize.optimizeWrite": "true",
},
)
Tratamento de alterações
Novas colunas
Permitido por permissive e additive_only; registrado na evidência de mudança de esquema.
Colunas removidas
Bloqueado por políticas selecionadas. ContractForge não elimina colunas automaticamente.
Alterações de tipo
Bloqueado, a menos que a alteração seja explicitamente considerada uma ampliação segura e allow_type_widening esteja habilitado.
Colunas de controle
As colunas técnicas da estrutura são ignoradas ao comparar o esquema comercial de origem.
Auditoria
SELECT target_table, change_type, column_name, previous_type, new_type, changed_at_utc
FROM ops.ctrl_ingestion_schema_changes
ORDER BY changed_at_utc DESC;