Skip to content

feat: adiciona botão "Checar Metadados" no admin de Table - staging - #1067

Merged
Winzen merged 2 commits into
stagingfrom
feat/check-metadados-button
Aug 21, 2026
Merged

feat: adiciona botão "Checar Metadados" no admin de Table - staging#1067
Winzen merged 2 commits into
stagingfrom
feat/check-metadados-button

Conversation

@Winzen

@Winzen Winzen commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Mesmo conteúdo do #1066 (base main), abrindo também contra staging pra poder testar o botão manualmente no admin de staging antes de promover pra prod.

Contexto

Em pipelines, .github/workflows/scripts/check_metadata.py já compara o schema de uma tabela no BigQuery com as colunas cadastradas na API, mas só roda via GitHub Action/CLI. Este PR traz a mesma checagem para o admin do backend, no mesmo padrão do botão "Importar Colunas" já existente na página de uma Table.

O que muda

  • CheckMetadadosView (backend/apps/admin_data_tools/views.py): recebe table_id, busca o schema real via get_gbq_client() (backend/custom/client.py) e compara com as Columns cadastradas — nome, tipo (bigquery_type) e descrição. Retorna a lista de discrepâncias ou confirmação de consistência.
  • Nova rota admin-tools/check-metadados/ em backend/apps/admin_data_tools/urls.py.
  • checarMetadados() em ferramentas.js: faz o POST e mostra o resultado num alert.
  • Botão "Checar Metadados" adicionado ao lado de "Importar Colunas" em change_form.html.
  • A checagem compara sempre contra o projeto do BigQuery do próprio ambiente do admin (is_prd()): em staging/dev contra basedosdados-dev (onde os flows escrevem antes de promover pra prod), em prod contra basedosdados.

Test plan

  • ruff check/ruff format limpos
  • manage.py check sem issues
  • Testar o botão manualmente no admin de staging numa tabela com e sem discrepância conhecida, confirmando que compara contra basedosdados-dev

Winzen added 2 commits August 21, 2026 01:31
Compara o schema real da tabela no BigQuery (nome, tipo, descrição das
colunas) com o que está cadastrado na API, no mesmo padrão do botão
"Importar Colunas" já existente. Reaproveita a checagem já feita pelo
script check_metadata.py (repo pipelines), agora acionável direto do
admin sem precisar rodar a action manualmente.
Checar Metadados agora usa is_prd() para escolher o projeto do BigQuery:
basedosdados-dev quando chamado de staging/dev, basedosdados quando
chamado de prod. Antes comparava sempre contra basedosdados (via
Table.gbq_slug, hardcoded), então staging comparava contra dados que
ainda nem tinham sido promovidos pra prod.
@Winzen Winzen self-assigned this Aug 21, 2026
@Winzen Winzen added the staging Indica que o Pull Request está com a branch de destino (base) apontando para staging label Aug 21, 2026
@mergify

mergify Bot commented Aug 21, 2026

Copy link
Copy Markdown

⚠️ The sha of the head commit of this PR conflicts with #1066. Mergify cannot evaluate rules on this PR. Once #1066 is merged or closed, Mergify will resume processing this PR. ⚠️

@Winzen
Winzen merged commit 06dd6ec into staging Aug 21, 2026
8 checks passed
Winzen added a commit that referenced this pull request Aug 22, 2026
… - staging - #1068

O botão "Checar Metadados" (introduzido nos PRs #1066/#1067) comparava o schema da Table no BigQuery com as Columns cadastradas na API, mas mostrava o resultado num alert() de texto solto — difícil de ler quando há várias discrepâncias.

Esse PR também adiciona um botão pra sincronizar Update.latest com o BigQuery direto da UI, sem precisar de acesso ao banco — contexto completo em #1069.
Winzen added a commit that referenced this pull request Aug 22, 2026
…#1066)

O botão "Checar Metadados" (introduzido nos PRs #1066/#1067) comparava o schema da Table no BigQuery com as Columns cadastradas na API, mas mostrava o resultado num alert() de texto solto — difícil de ler quando há várias discrepâncias.

Esse PR também adiciona um botão pra sincronizar Update.latest com o BigQuery direto da UI, sem precisar de acesso ao banco — contexto completo em #1069.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

staging Indica que o Pull Request está com a branch de destino (base) apontando para staging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant