Algumas tarefas administrativas de um dataset são trabalhosas se feitas fora do processo de importação de dados. Exemplo: durante a escrita da issue #500 vi que um campo que deveria estar como filtrável não estava. Entrei então no Django Admin, habilitei frontend_filter desse Field, mas precisei também, manualmente:
- Reiniciar o app dokku
- Criar o índice manualmente (ver código abaixo)
Seria interessante termos formas não somente de executar algumas operações facilmente (sem precisar escrever código, seja via execução de um management command ou através do Django Admin), mas também saber o status de importação dos dados (exemplo: saber o tamanho ocupado pelos índices, ver o tamanho - e se existe - do índice para um determinado Field etc.).
Acredito que facilitaremos demais o processo de criar essas estatísticas/ações se modularizarmos a classe core.command.ImportDataCommand, se possível que possam ser chamadas diretamente de um DataTable.
Segue o código que precisei executar para criar o índice manualmente:
from core.commands import ImportDataCommand
from core.models import Table
dataset_slug = "socios-brasil"
tablename = "socios"
table = Table.with_hidden.for_dataset(dataset_slug).named(tablename)
command = ImportDataCommand(
table,
import_data=False,
vacuum=True,
clear_view_cache=False,
create_filter_indexes=True,
fill_choices=True,
delete_old_table=False,
collect_date=None,
)
Model = table.get_model(data_table=table.data_table, cache=False)
command.create_filter_indexes(Model)
Algumas tarefas administrativas de um dataset são trabalhosas se feitas fora do processo de importação de dados. Exemplo: durante a escrita da issue #500 vi que um campo que deveria estar como filtrável não estava. Entrei então no Django Admin, habilitei
frontend_filterdesseField, mas precisei também, manualmente:Seria interessante termos formas não somente de executar algumas operações facilmente (sem precisar escrever código, seja via execução de um management command ou através do Django Admin), mas também saber o status de importação dos dados (exemplo: saber o tamanho ocupado pelos índices, ver o tamanho - e se existe - do índice para um determinado
Fieldetc.).Acredito que facilitaremos demais o processo de criar essas estatísticas/ações se modularizarmos a classe
core.command.ImportDataCommand, se possível que possam ser chamadas diretamente de umDataTable.Segue o código que precisei executar para criar o índice manualmente: