splor-mg / dados-sigplan-planejamento

Conjunto de dados do PPAG Planejamento
0 stars 0 forks source link

Ordem de execução do make gera erros nas validações das chaves estrangeiras #29

Closed fjuniorr closed 1 year ago

fjuniorr commented 1 year ago

Na documentação da base eu inseri algumas foreignKeys no schema. No entanto, tendo em vista a ordem de execução atual do make ao validar um recurso, por exemplo indicadores_planejamento

frictionless validate --resource-name indicadores_planejamento datapackage.yaml

Eu recebo um erro de que

──────────────────────────────────── Tables ────────────────────────────────────
                            indicadores_planejamento                            
┏━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Row  ┃ Field ┃ Type         ┃ Message                                        ┃
┡━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ None │ None  │ scheme-error │ The data source could not be successfully      │
│      │       │              │ loaded: [Errno 2] No such file or directory:   │
│      │       │              │ 'data/programas_planejamento.csv'              │
└──────┴───────┴──────────────┴────────────────────────────────────────────────┘

porque python scripts/transform.py programas_planejamento ainda não executou e gerou data/programas_planejamento.csv. O erro acontece mesmo se eu pular o check de foreign-key no frictionless com

frictionless validate --skip-errors foreign-key  --resource-name indicadores_planejamento datapackage.yaml

Se me lembro bem no age7 a gente fazia uma nova rodada de validação no final da execução.

fjuniorr commented 1 year ago

make validate está fazendo a validação completa do data package com frictionless validate datapackage.yaml