edu-rdm-integration 3.21.0__tar.gz → 3.22.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of edu-rdm-integration might be problematic. Click here for more details.
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/CHANGELOG.md +117 -2
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/PKG-INFO +14 -1
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/README.md +13 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py +32 -1
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/collect_data/migrations/0005_alter_rdmcollectingdatasubstage_previous.py +22 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/collect_data/migrations/0006_fix_fk_constraints.py +59 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +1 -1
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/export_data/migrations/0003_fix_fk_constraints.py +76 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/base.py +214 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/collect_data.py +126 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/consts.py +12 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/export_data.py +154 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/upload_data.py +64 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/managers.py +80 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/migrations/0003_auto_20251006_1417.py +28 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/migrations/0004_fix_fk_constraints.py +79 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/models.py +5 -2
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
- edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/utils.py +49 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/PKG-INFO +14 -1
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/SOURCES.txt +13 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/CONDUCT.md +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/LICENSE +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/MANIFEST.in +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/pyproject.toml +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/setup.cfg +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/mapping.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/operations.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/redis_cache.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/actions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/registry/ui.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/signals.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/storages.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/typing.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/core/utils.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/model_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/model_outdated_data/cleaners.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/model_outdated_data/managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/service_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners}/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
- {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/management → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data}/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
- {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/management/commands → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/management}/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
- {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/migrations → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/management/commands}/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/uploader_log → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/migrations}/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
- {edu_rdm_integration-3.21.0/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations → edu_rdm_integration-3.22.1/src/edu_rdm_integration/stages/upload_data/uploader_log}/__init__.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
- {edu_rdm_integration-3.21.0 → edu_rdm_integration-3.22.1}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
|
@@ -29,6 +29,67 @@
|
|
|
29
29
|
### Удалено
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
## [3.22.1] - 2025-10-10
|
|
33
|
+
|
|
34
|
+
Исправление документации: обновлено описание настройки `RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA` в README.
|
|
35
|
+
|
|
36
|
+
### Исправлено
|
|
37
|
+
|
|
38
|
+
- [EDUDEVOPS-98](https://jira.bars.group/browse/EDUDEVOPS-98)
|
|
39
|
+
PATCH Обновлено описание настройки `RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA` в README.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## [3.22.0] - 2025-10-08
|
|
43
|
+
|
|
44
|
+
Добавлена возможность зачистки устаревших данных сервисных моделей РВД.
|
|
45
|
+
|
|
46
|
+
Переименована настройка `COLLECT_PROGRESS_BATCH_SIZE` в `RDM_COLLECT_PROGRESS_BATCH_SIZE`,
|
|
47
|
+
для корректного использования.
|
|
48
|
+
|
|
49
|
+
### Добавлено
|
|
50
|
+
|
|
51
|
+
- [EDUDEVOPS-98](https://jira.bars.group/browse/EDUDEVOPS-98)
|
|
52
|
+
MINOR Добавлена возможность зачистки устаревших данных сервисных моделей РВД
|
|
53
|
+
в команду/ночной скрипт rdm_cleanup_outdated_data`.
|
|
54
|
+
|
|
55
|
+
### Исправлено
|
|
56
|
+
|
|
57
|
+
- [EDUDEVOPS-101](https://jira.bars.group/browse/EDUDEVOPS-101)
|
|
58
|
+
PATCH Переименована настройка `COLLECT_PROGRESS_BATCH_SIZE` в `RDM_COLLECT_PROGRESS_BATCH_SIZE`.
|
|
59
|
+
|
|
60
|
+
Добавлены новые настройки
|
|
61
|
+
|
|
62
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
63
|
+
|---------------------------------------|------------------------------------------------------------|-----------------------|
|
|
64
|
+
| ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
|
|
65
|
+
|
|
66
|
+
В settings.py:
|
|
67
|
+
|
|
68
|
+
- Добавить значение по умолчанию:
|
|
69
|
+
```
|
|
70
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
71
|
+
...
|
|
72
|
+
('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
|
|
73
|
+
...
|
|
74
|
+
})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- Получить значение настройки из конфигурационного файла:
|
|
78
|
+
```
|
|
79
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
80
|
+
RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
# Настройка зачистки устаревших данных
|
|
87
|
+
[rdm_cleanup_outdated_data]
|
|
88
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
89
|
+
ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
|
|
32
93
|
## [3.21.0] - 2025-10-08
|
|
33
94
|
|
|
34
95
|
Переименование m3-django-compat в m3-django-compatibility.
|
|
@@ -323,7 +384,7 @@ settings.py в установленные приложения.
|
|
|
323
384
|
- Получить значение настройки из конфигурационного файла:
|
|
324
385
|
```
|
|
325
386
|
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
326
|
-
|
|
387
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
327
388
|
```
|
|
328
389
|
|
|
329
390
|
- В дефолтный конфиг проекта необходимо добавить:
|
|
@@ -344,6 +405,60 @@ settings.py в установленные приложения.
|
|
|
344
405
|
MINOR Поднять версию Django до 4.2.23
|
|
345
406
|
|
|
346
407
|
|
|
408
|
+
## [3.15.4] - 2025-01-27
|
|
409
|
+
|
|
410
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
411
|
+
оптимизирована производительность bulk_create операций.
|
|
412
|
+
|
|
413
|
+
### Добавлено
|
|
414
|
+
|
|
415
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
416
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
417
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
418
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
419
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
420
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
421
|
+
|
|
422
|
+
### Изменено
|
|
423
|
+
|
|
424
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
425
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
426
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
427
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
428
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
429
|
+
|
|
430
|
+
### Добавлены новые настройки
|
|
431
|
+
|
|
432
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
433
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
434
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
435
|
+
|
|
436
|
+
В settings.py:
|
|
437
|
+
|
|
438
|
+
- Добавить значение по умолчанию:
|
|
439
|
+
```
|
|
440
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
441
|
+
...
|
|
442
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
443
|
+
...
|
|
444
|
+
})
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
- Получить значение настройки из конфигурационного файла:
|
|
448
|
+
```
|
|
449
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
450
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
[rmd_general]
|
|
457
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
458
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
|
|
347
462
|
## [3.15.3] - 2025-08-12
|
|
348
463
|
|
|
349
464
|
### Добавлено
|
|
@@ -475,7 +590,7 @@ settings.py в установленные приложения.
|
|
|
475
590
|
- Получить значение настройки из конфигурационного файла:
|
|
476
591
|
```
|
|
477
592
|
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
478
|
-
|
|
593
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
479
594
|
```
|
|
480
595
|
|
|
481
596
|
- В дефолтный конфиг проекта необходимо добавить:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.22.1
|
|
4
4
|
Summary: Интеграция с Региональной витриной данных
|
|
5
5
|
Author-email: BARS Group <education_dev@bars.group>
|
|
6
6
|
Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
|
|
@@ -153,6 +153,7 @@ INSTALLED_APPS = (
|
|
|
153
153
|
('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,
|
|
154
154
|
('rdm_general', 'UPLOAD_QUEUE_MAX_SIZE'): 500_000_000,
|
|
155
155
|
('rdm_general', 'RDM_MENU_ITEM'): False,
|
|
156
|
+
('rdm_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
156
157
|
('rdm_transfer_task', 'MINUTE'): '0',
|
|
157
158
|
('rdm_transfer_task', 'HOUR'): '*/4',
|
|
158
159
|
('rdm_transfer_task', 'DAY_OF_WEEK'): '*',
|
|
@@ -198,6 +199,7 @@ INSTALLED_APPS = (
|
|
|
198
199
|
('uploader_client', 'INSTALLATION_NAME'): '',
|
|
199
200
|
('uploader_client', 'INSTALLATION_ID'): '',
|
|
200
201
|
('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
|
|
202
|
+
('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
|
|
201
203
|
('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE'): 10000,
|
|
202
204
|
('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE'): 10,
|
|
203
205
|
})
|
|
@@ -230,6 +232,9 @@ INSTALLED_APPS = (
|
|
|
230
232
|
# Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
|
|
231
233
|
RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
|
|
232
234
|
|
|
235
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
236
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
237
|
+
|
|
233
238
|
# Настройка запуска периодической задачи выгрузки данных:
|
|
234
239
|
RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
|
|
235
240
|
RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
|
|
@@ -315,6 +320,8 @@ INSTALLED_APPS = (
|
|
|
315
320
|
|
|
316
321
|
# Включить зачистку устаревших данных моделей РВД
|
|
317
322
|
RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
|
|
323
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
324
|
+
RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
|
|
318
325
|
# Размер чанка записей зачистки устаревших данных моделей РВД
|
|
319
326
|
RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
|
|
320
327
|
# Количество подключений к БД для зачистки устаревших данных моделей РВД
|
|
@@ -332,6 +339,7 @@ INSTALLED_APPS = (
|
|
|
332
339
|
| RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
|
|
333
340
|
| RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину (в байтах). | 500_000_000 |
|
|
334
341
|
| RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
|
|
342
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
|
|
335
343
|
| RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
|
|
336
344
|
| RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
|
|
337
345
|
| RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
|
|
@@ -379,6 +387,7 @@ INSTALLED_APPS = (
|
|
|
379
387
|
| RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
|
|
380
388
|
| RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
|
|
381
389
|
| RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
|
|
390
|
+
| RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
|
|
382
391
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
|
|
383
392
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
|
|
384
393
|
|
|
@@ -395,6 +404,8 @@ INSTALLED_APPS = (
|
|
|
395
404
|
EXPORT_CHUNK_SIZE = 500
|
|
396
405
|
# Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
|
|
397
406
|
COLLECT_CHUNK_SIZE = 500
|
|
407
|
+
# Размер батча для bulk_create операций при сборе данных РВД
|
|
408
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
398
409
|
# Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
|
|
399
410
|
UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
|
|
400
411
|
# Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
|
|
@@ -482,6 +493,8 @@ INSTALLED_APPS = (
|
|
|
482
493
|
[rdm_cleanup_outdated_data]
|
|
483
494
|
# Включить зачистку устаревших данных моделей РВД
|
|
484
495
|
ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
|
|
496
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
497
|
+
ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
|
|
485
498
|
# Размер чанка записей проверки устаревших данных моделей РВД
|
|
486
499
|
CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = 10000
|
|
487
500
|
# Количество подключений к БД для проверки устаревших данных моделей РВД
|
|
@@ -105,6 +105,7 @@ INSTALLED_APPS = (
|
|
|
105
105
|
('rdm_general', 'EXPORT_CHUNK_SIZE'): 500,
|
|
106
106
|
('rdm_general', 'UPLOAD_QUEUE_MAX_SIZE'): 500_000_000,
|
|
107
107
|
('rdm_general', 'RDM_MENU_ITEM'): False,
|
|
108
|
+
('rdm_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
108
109
|
('rdm_transfer_task', 'MINUTE'): '0',
|
|
109
110
|
('rdm_transfer_task', 'HOUR'): '*/4',
|
|
110
111
|
('rdm_transfer_task', 'DAY_OF_WEEK'): '*',
|
|
@@ -150,6 +151,7 @@ INSTALLED_APPS = (
|
|
|
150
151
|
('uploader_client', 'INSTALLATION_NAME'): '',
|
|
151
152
|
('uploader_client', 'INSTALLATION_ID'): '',
|
|
152
153
|
('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA'): False,
|
|
154
|
+
('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
|
|
153
155
|
('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE'): 10000,
|
|
154
156
|
('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE'): 10,
|
|
155
157
|
})
|
|
@@ -182,6 +184,9 @@ INSTALLED_APPS = (
|
|
|
182
184
|
# Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
|
|
183
185
|
RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
|
|
184
186
|
|
|
187
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
188
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
189
|
+
|
|
185
190
|
# Настройка запуска периодической задачи выгрузки данных:
|
|
186
191
|
RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
|
|
187
192
|
RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
|
|
@@ -267,6 +272,8 @@ INSTALLED_APPS = (
|
|
|
267
272
|
|
|
268
273
|
# Включить зачистку устаревших данных моделей РВД
|
|
269
274
|
RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
|
|
275
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
276
|
+
RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
|
|
270
277
|
# Размер чанка записей зачистки устаревших данных моделей РВД
|
|
271
278
|
RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
|
|
272
279
|
# Количество подключений к БД для зачистки устаревших данных моделей РВД
|
|
@@ -284,6 +291,7 @@ INSTALLED_APPS = (
|
|
|
284
291
|
| RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
|
|
285
292
|
| RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину (в байтах). | 500_000_000 |
|
|
286
293
|
| RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
|
|
294
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
|
|
287
295
|
| RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
|
|
288
296
|
| RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
|
|
289
297
|
| RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
|
|
@@ -331,6 +339,7 @@ INSTALLED_APPS = (
|
|
|
331
339
|
| RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
|
|
332
340
|
| RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
|
|
333
341
|
| RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
|
|
342
|
+
| RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
|
|
334
343
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
|
|
335
344
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
|
|
336
345
|
|
|
@@ -347,6 +356,8 @@ INSTALLED_APPS = (
|
|
|
347
356
|
EXPORT_CHUNK_SIZE = 500
|
|
348
357
|
# Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
|
|
349
358
|
COLLECT_CHUNK_SIZE = 500
|
|
359
|
+
# Размер батча для bulk_create операций при сборе данных РВД
|
|
360
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
350
361
|
# Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
|
|
351
362
|
UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
|
|
352
363
|
# Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
|
|
@@ -434,6 +445,8 @@ INSTALLED_APPS = (
|
|
|
434
445
|
[rdm_cleanup_outdated_data]
|
|
435
446
|
# Включить зачистку устаревших данных моделей РВД
|
|
436
447
|
ENABLE_CLEANUP_MODELS_OUTDATED_DATA = False
|
|
448
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
449
|
+
ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
|
|
437
450
|
# Размер чанка записей проверки устаревших данных моделей РВД
|
|
438
451
|
CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = 10000
|
|
439
452
|
# Количество подключений к БД для проверки устаревших данных моделей РВД
|
|
@@ -11,6 +11,9 @@ from edu_rdm_integration.rdm_models.models import (
|
|
|
11
11
|
from edu_rdm_integration.stages.service.model_outdated_data.managers import (
|
|
12
12
|
ModelOutdatedDataCleanerManager,
|
|
13
13
|
)
|
|
14
|
+
from edu_rdm_integration.stages.service.service_outdated_data.managers import (
|
|
15
|
+
ServiceOutdatedDataCleanerManager,
|
|
16
|
+
)
|
|
14
17
|
|
|
15
18
|
|
|
16
19
|
class Command(BaseCommand):
|
|
@@ -33,10 +36,26 @@ class Command(BaseCommand):
|
|
|
33
36
|
'--models',
|
|
34
37
|
action='store',
|
|
35
38
|
dest='models',
|
|
36
|
-
type=lambda ml: [m.strip().upper() for m in ml.
|
|
39
|
+
type=lambda ml: [m.strip().upper() for m in ml.split(',')] if ml else None,
|
|
37
40
|
help=models_help_text,
|
|
38
41
|
)
|
|
39
42
|
|
|
43
|
+
# Аргумент для сервисных стадий
|
|
44
|
+
stages_help_text = (
|
|
45
|
+
'Значением параметра является перечисление стадий сервисных данных, '
|
|
46
|
+
'для которых должна быть произведена зачистка устаревших данных. '
|
|
47
|
+
'Перечисление этапов: collect, export, upload. '
|
|
48
|
+
'Если стадии не указываются, то зачистка будет произведена для всех стадий. '
|
|
49
|
+
'Стадии перечисляются через запятую без пробелов.'
|
|
50
|
+
)
|
|
51
|
+
parser.add_argument(
|
|
52
|
+
'--stages',
|
|
53
|
+
action='store',
|
|
54
|
+
dest='stages',
|
|
55
|
+
type=lambda st: [s.strip().lower() for s in st.split(',')] if st else None,
|
|
56
|
+
help=stages_help_text,
|
|
57
|
+
)
|
|
58
|
+
|
|
40
59
|
parser.add_argument(
|
|
41
60
|
'--safe',
|
|
42
61
|
action='store_true',
|
|
@@ -62,7 +81,19 @@ class Command(BaseCommand):
|
|
|
62
81
|
)
|
|
63
82
|
model_data_cleaner_manager.run()
|
|
64
83
|
|
|
84
|
+
def _cleanup_service_outdated_data(self, options):
|
|
85
|
+
"""Очистка устаревших данных сервисных моделей РВД."""
|
|
86
|
+
service_data_cleaner_manager = ServiceOutdatedDataCleanerManager(
|
|
87
|
+
stages=options['stages'],
|
|
88
|
+
safe=options['safe'],
|
|
89
|
+
log_sql=options['log_sql'],
|
|
90
|
+
)
|
|
91
|
+
service_data_cleaner_manager.run()
|
|
92
|
+
|
|
65
93
|
def handle(self, *args, **options):
|
|
66
94
|
"""Запуск очистки устаревших данных РВД."""
|
|
67
95
|
if settings.RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA:
|
|
68
96
|
self._cleanup_model_outdated_data(options)
|
|
97
|
+
|
|
98
|
+
if settings.RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA:
|
|
99
|
+
self._cleanup_service_outdated_data(options)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Generated by Django 3.2.24 on 2025-10-08 14:17
|
|
2
|
+
|
|
3
|
+
import django.db.models.deletion
|
|
4
|
+
from django.db import (
|
|
5
|
+
migrations,
|
|
6
|
+
models,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Migration(migrations.Migration):
|
|
11
|
+
|
|
12
|
+
dependencies = [
|
|
13
|
+
('edu_rdm_integration_collect_data_stage', '0004_auto_20250704_0825'),
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
operations = [
|
|
17
|
+
migrations.AlterField(
|
|
18
|
+
model_name='rdmcollectingdatasubstage',
|
|
19
|
+
name='previous',
|
|
20
|
+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='edu_rdm_integration_collect_data_stage.rdmcollectingdatasubstage', verbose_name='Предыдущий сбор данных'),
|
|
21
|
+
),
|
|
22
|
+
]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Generated by Django 3.2.24 on 2025-10-08 14:43
|
|
2
|
+
|
|
3
|
+
from django.db import (
|
|
4
|
+
migrations,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
from edu_rdm_integration.stages.utils import (
|
|
8
|
+
update_foreign_key_constraint,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def apply_fk_updates(apps, schema_editor):
|
|
13
|
+
"""
|
|
14
|
+
Применяет обновления внешних ключей для конкретных моделей.
|
|
15
|
+
|
|
16
|
+
Здесь задаются таблицы и поведение при удалении записей,
|
|
17
|
+
чтобы синхронизировать фактическое состояние БД с логикой моделей.
|
|
18
|
+
"""
|
|
19
|
+
RDMCollectingDataSubStage = apps.get_model('edu_rdm_integration_collect_data_stage', 'RDMCollectingDataSubStage')
|
|
20
|
+
RDMCollectingDataStage = apps.get_model('edu_rdm_integration_collect_data_stage', 'RDMCollectingDataStage')
|
|
21
|
+
|
|
22
|
+
# Модель: RDMCollectingDataSubStage
|
|
23
|
+
# Поле previous_id должно иметь ON DELETE SET NULL
|
|
24
|
+
update_foreign_key_constraint(
|
|
25
|
+
table_name=RDMCollectingDataSubStage._meta.db_table,
|
|
26
|
+
field_name="previous_id",
|
|
27
|
+
target_table=RDMCollectingDataSubStage._meta.db_table,
|
|
28
|
+
on_delete="SET NULL",
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
RDMCollectingDataCommandProgress = apps.get_model('edu_rdm_integration_collect_data_stage', 'RDMCollectingDataCommandProgress')
|
|
32
|
+
# Модель: RDMCollectingDataCommandProgress
|
|
33
|
+
# Поле stage_id должно иметь ON DELETE SET NULL
|
|
34
|
+
update_foreign_key_constraint(
|
|
35
|
+
table_name=RDMCollectingDataCommandProgress._meta.db_table,
|
|
36
|
+
field_name="stage_id",
|
|
37
|
+
target_table=RDMCollectingDataStage._meta.db_table,
|
|
38
|
+
on_delete="SET NULL",
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Таблица: rdm_collecting_data_command_progress
|
|
42
|
+
# Поле stage_id должно иметь ON DELETE SET NULL
|
|
43
|
+
update_foreign_key_constraint(
|
|
44
|
+
table_name='rdm_collecting_data_command_progress',
|
|
45
|
+
field_name="stage_id",
|
|
46
|
+
target_table=RDMCollectingDataStage._meta.db_table,
|
|
47
|
+
on_delete="SET NULL",
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class Migration(migrations.Migration):
|
|
52
|
+
|
|
53
|
+
dependencies = [
|
|
54
|
+
('edu_rdm_integration_collect_data_stage', '0005_alter_rdmcollectingdatasubstage_previous'),
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
operations = [
|
|
58
|
+
migrations.RunPython(apply_fk_updates, reverse_code=migrations.RunPython.noop),
|
|
59
|
+
]
|
|
@@ -278,4 +278,4 @@ class BaseCollectingDataProgressPack(BaseCommandProgressPack):
|
|
|
278
278
|
)
|
|
279
279
|
for command in commands_to_save
|
|
280
280
|
]
|
|
281
|
-
self.model.objects.bulk_create(objs, batch_size=settings.
|
|
281
|
+
self.model.objects.bulk_create(objs, batch_size=settings.RDM_COLLECT_PROGRESS_BATCH_SIZE)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Generated by Django 3.2.24 on 2025-10-08 14:44
|
|
2
|
+
|
|
3
|
+
from django.db import (
|
|
4
|
+
migrations,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
from edu_rdm_integration.stages.utils import (
|
|
8
|
+
update_foreign_key_constraint,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def apply_fk_updates(apps, schema_editor):
|
|
13
|
+
"""
|
|
14
|
+
Применяет обновления внешних ключей для конкретных моделей.
|
|
15
|
+
|
|
16
|
+
Здесь задаются таблицы и поведение при удалении записей,
|
|
17
|
+
чтобы синхронизировать фактическое состояние БД с логикой моделей.
|
|
18
|
+
"""
|
|
19
|
+
RDMExportingDataSubStage = apps.get_model('edu_rdm_integration_export_data_stage', 'RDMExportingDataSubStage')
|
|
20
|
+
RDMExportingDataStage = apps.get_model('edu_rdm_integration_export_data_stage', 'RDMExportingDataStage')
|
|
21
|
+
|
|
22
|
+
RDMExportingDataSubStageAttachment = apps.get_model(
|
|
23
|
+
'edu_rdm_integration_export_data_stage', 'RDMExportingDataSubStageAttachment'
|
|
24
|
+
)
|
|
25
|
+
# Модель: RDMExportingDataSubStageAttachment
|
|
26
|
+
# Поле exporting_data_sub_stage_id должно иметь ON DELETE CASCADE
|
|
27
|
+
update_foreign_key_constraint(
|
|
28
|
+
table_name=RDMExportingDataSubStageAttachment._meta.db_table,
|
|
29
|
+
field_name='exporting_data_sub_stage_id',
|
|
30
|
+
target_table=RDMExportingDataSubStage._meta.db_table,
|
|
31
|
+
on_delete='CASCADE',
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
RDMExportingDataSubStageEntity = apps.get_model(
|
|
35
|
+
'edu_rdm_integration_export_data_stage', 'RDMExportingDataSubStageEntity'
|
|
36
|
+
)
|
|
37
|
+
# Модель: CollectDataCommandProgress
|
|
38
|
+
# Поле exporting_data_sub_stage_id должно иметь ON DELETE CASCADE
|
|
39
|
+
update_foreign_key_constraint(
|
|
40
|
+
table_name=RDMExportingDataSubStageEntity._meta.db_table,
|
|
41
|
+
field_name='exporting_data_sub_stage_id',
|
|
42
|
+
target_table=RDMExportingDataSubStage._meta.db_table,
|
|
43
|
+
on_delete='CASCADE',
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
RDMExportingDataCommandProgress = apps.get_model(
|
|
47
|
+
'edu_rdm_integration_export_data_stage', 'RDMExportingDataCommandProgress'
|
|
48
|
+
)
|
|
49
|
+
# Модель: RDMExportingDataCommandProgress
|
|
50
|
+
# Поле stage_id должно иметь ON DELETE SET NULL
|
|
51
|
+
update_foreign_key_constraint(
|
|
52
|
+
table_name=RDMExportingDataCommandProgress._meta.db_table,
|
|
53
|
+
field_name='stage_id',
|
|
54
|
+
target_table=RDMExportingDataStage._meta.db_table,
|
|
55
|
+
on_delete='SET NULL',
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
# Таблица: rdm_exporting_data_command_progress
|
|
59
|
+
# Поле stage_id должно иметь ON DELETE SET NULL
|
|
60
|
+
update_foreign_key_constraint(
|
|
61
|
+
table_name='rdm_exporting_data_command_progress',
|
|
62
|
+
field_name="stage_id",
|
|
63
|
+
target_table=RDMExportingDataStage._meta.db_table,
|
|
64
|
+
on_delete="SET NULL",
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class Migration(migrations.Migration):
|
|
69
|
+
|
|
70
|
+
dependencies = [
|
|
71
|
+
('edu_rdm_integration_export_data_stage', '0002_auto_20250704_0810'),
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
operations = [
|
|
75
|
+
migrations.RunPython(apply_fk_updates, reverse_code=migrations.RunPython.noop),
|
|
76
|
+
]
|