Skip to content

Add delete_article_data management command#577

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/criar-comando-remover-artigos
Draft

Add delete_article_data management command#577
Copilot wants to merge 3 commits intomainfrom
copilot/criar-comando-remover-artigos

Conversation

Copy link
Contributor

Copilot AI commented Mar 12, 2026

O que esse PR faz?

Adiciona o comando delete_article_data que remove todos os dados de Article e seus modelos relacionados (SourceArticle, Contributor, Affiliation, Journal, Program, License, Concepts).

  • ThematicArea: só deleta se não estiver referenciada por modelos de diretório (EducationDirectory, InfrastructureDirectory, EventDirectory, PolicyDirectory)
  • License: só deleta se não estiver referenciada por ScholarlyArticles
python manage.py delete_article_data

Onde a revisão poderia começar?

article/management/commands/delete_article_data.py

Como este poderia ser testado manualmente?

  1. Criar dados de Article e modelos relacionados via admin/shell
  2. Executar python manage.py delete_article_data
  3. Verificar que todos os modelos do app article foram removidos
  4. Verificar que ThematicAreas usadas por diretórios foram preservadas
  5. Verificar que Licenses usadas por ScholarlyArticles foram preservadas

Testes automatizados: pytest article/tests_delete_article_data.py (12 testes)

Algum cenário de contexto que queira dar?

Os IDs de referência em diretórios e ScholarlyArticles são coletados via queries batch antes da iteração, evitando N+1 queries.

Screenshots

N/A — comando CLI sem interface gráfica.

Quais são tickets relevantes?

Referências

  • Padrão de management commands existentes em harvest/management/commands/
  • Modelos de diretório: education_directory, infrastructure_directory, event_directory, policy_directory

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • opensearch
    • Triggering command: /usr/bin/python python -m pytest article/tests_delete_article_data.py -v --no-header (dns block)
    • Triggering command: /usr/bin/python python -m pytest article/tests_delete_article_data.py -v --no-header --global cal/bin/bash credential.usernbash (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Criar comando que remover os dados de artigos e seus dados relacionados</issue_title>
<issue_description>### Descrição da tarefa

  • Criar um comando que remover os dados de Article e seus modelos relacionados.
  • Para o modelo de thematic_areas, ao apagar estes dados, verificar se o objeto não esta sendo relacionado com outros models (modelos dos aplicativos *_directory).
  • Para o modelo License, ao apagar, verificar se o objeto não esta atribuido em ScholarlyArticles.

</issue_description>

Comments on the Issue (you are @copilot in this section)


📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI and others added 2 commits March 12, 2026 16:34
Create a Django management command that removes Article data and its
related models (SourceArticle, Contributor, Affiliation, Journal,
Program, License, Concepts). For ThematicArea objects, checks if they
are referenced by directory models before deleting. For License objects,
checks if they are referenced by ScholarlyArticles before deleting.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Pre-collect ScholarlyArticles license IDs and directory model ThematicArea
IDs upfront to avoid per-object queries in loops.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Add command to remove Article data and related models Add delete_article_data management command Mar 12, 2026
Copilot AI requested a review from robertatakenaka March 12, 2026 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar comando que remover os dados de artigos e seus dados relacionados

2 participants