Массовое удаление данных из системы (без метаданных)

Удаление периодических данных (без метаданных)

Пользователь-администратор может удалить из системы все периодические данные, включая:

  • Данные периодической отчетности организаций, сформированные с помощью автоматизированных процессов сбора данных.
  • Загруженные через коннекторы данные, связанные с показателем «Период».
  • Данные, импортированные из файлов или введенные вручную в формы или реестры, параметризованные показателем «Период».

Для удаления периодических данных (без метаданных) нужно создать реестр, содержащий показатель-источник «Название» и обязательный показатель-источник «Период». Помимо периодических данных (для которых показатель-источник «Название» остается пустым), реестр будет содержать строки, имеющие «Название» - это записи справочника «Шаблоны сбора». Нужно перейти в режим редактирования и удалить из реестра все, что удаляется (записи из справочника «Шаблоны сбора» при этом не удаляются).

В системе могут содержаться и такие данные, которые не привязаны к показателю «Период», не попадают в указанный реестр, и не будут удалены при удалении записей реестра, например:

  • Не зависящие от времени описательные текстовые характеристики подразделений организации, оборудования, технологических процессов и т.п..
  • Не зависящие от времени количественные характеристики (мощность оборудования, штатная численность персонала организации, нормативный расход материалов при изготовлении изделия, процент отчислений по налогам (НДС и т.п.).
  • Курсы валют могут быть привязаны не к показателю «Период», а к показателю «Период фиксации курса валюты» типа «Период».
  • Индексы-дефляторы могут быть привязаны к 2-м показателям типа «Период»: «Прогнозируемый период действия индекса» и «Период расчета прогноза».

Удаление данных с помощью системных команд

В составе дистрибутива NetB поставляется набор скриптов, обеспечивающих выполнение системных management-команд для массовых действий из командной строки: очистка справочника, удаление справочника и удаление значений показателя.

Настройку системного окружения и удаление данных с помощью системных команд осуществляет системный администратор.

Удаление всех данных из справочников:

$ ./dev help clean_relations
Usage: manage.py clean_relations [options] id id ...>

Clean relations. Discard all elements

Удаление списка справочников (с содержимым):

$ ./dev help drop_relations
Usage: manage.py drop_relations [options] id id ...>

Drop relations with all elements

Удаление всех значений показателей:

$ ./dev help drop_descriptor_values
Usage: manage.py drop_descriptor_values [options] id id ...>

Drop all links with descriptors given. EXPERIMENT !!!

Удаление истории изменения (данное удаление необратимо, необходимо предварительно сделать дамп базы данных):

$ ./dev shell
Python 2.7.15 (default, May 15 2018, 15:37:31)
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from documents.models import FUTURE
>>> from netdb.models import DstAll
>>> for m in DstAll : m.objects.filter ( document_end__lt=FUTURE ).delete ()
...
>>> quit()
$

Удаление данных из справочника

Чтобы удалить данные из определенного справочника, необходимо на сервере в виртуальном окружении прописать:

python manage.py clean_directories --settings=netdb_demo.settings.prod -- id,

где id - идентификатор справочника, из которого нужно удалить данные.

В частности, для справочника «Шаблоны сбора» id = -512, а для справочника «Задания сбора» id = -571.

Удаление файлов

Для удаления файлов нужно создать реестр, содержащий показатель-источник «Файл», перейти в режим редактирования и удалить из реестра все, что удаляется (шаблоны экспорта при этом не удаляются).