edu-rdm-integration 3.20.0__tar.gz → 3.22.0__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.20.0 → edu_rdm_integration-3.22.0}/CHANGELOG.md +117 -2
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/PKG-INFO +12 -2
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/README.md +10 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/pyproject.toml +1 -1
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/rdm_cleanup_outdated_data.py +32 -1
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/mixins.py +1 -1
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/mixins.py +1 -1
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/collect_data/migrations/0005_alter_rdmcollectingdatasubstage_previous.py +22 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/collect_data/migrations/0006_fix_fk_constraints.py +59 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +1 -1
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/export_data/migrations/0003_fix_fk_constraints.py +76 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/base.py +214 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/collect_data.py +126 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/consts.py +12 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/export_data.py +154 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners/upload_data.py +64 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/managers.py +80 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/migrations/0003_auto_20251006_1417.py +28 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/migrations/0004_fix_fk_constraints.py +79 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/models.py +5 -2
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
- edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/utils.py +49 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration.egg-info/PKG-INFO +12 -2
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration.egg-info/SOURCES.txt +13 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration.egg-info/requires.txt +1 -1
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/CONDUCT.md +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/LICENSE +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/MANIFEST.in +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/setup.cfg +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/mapping.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/operations.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/redis_cache.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/registry/actions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/registry/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/registry/ui.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/signals.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/storages.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/typing.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/core/utils.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/cleanup_outdated_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/model_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/model_outdated_data/cleaners.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/model_outdated_data/managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/service_outdated_data/__init__.py +0 -0
- {edu_rdm_integration-3.20.0/src/edu_rdm_integration/stages/upload_data → edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/service/service_outdated_data/cleaners}/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
- {edu_rdm_integration-3.20.0/src/edu_rdm_integration/stages/upload_data/management → edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data}/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
- {edu_rdm_integration-3.20.0/src/edu_rdm_integration/stages/upload_data/management/commands → edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/management}/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
- {edu_rdm_integration-3.20.0/src/edu_rdm_integration/stages/upload_data/migrations → edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/management/commands}/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.20.0/src/edu_rdm_integration/stages/upload_data/uploader_log → edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/migrations}/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
- {edu_rdm_integration-3.20.0/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations → edu_rdm_integration-3.22.0/src/edu_rdm_integration/stages/upload_data/uploader_log}/__init__.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
- {edu_rdm_integration-3.20.0 → edu_rdm_integration-3.22.0}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
|
@@ -29,6 +29,67 @@
|
|
|
29
29
|
### Удалено
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
## [3.22.0] - 2025-10-08
|
|
33
|
+
|
|
34
|
+
Добавлена возможность зачистки устаревших данных сервисных моделей РВД.
|
|
35
|
+
|
|
36
|
+
Переименована настройка `COLLECT_PROGRESS_BATCH_SIZE` в `RDM_COLLECT_PROGRESS_BATCH_SIZE`,
|
|
37
|
+
для корректного использования.
|
|
38
|
+
|
|
39
|
+
### Добавлено
|
|
40
|
+
|
|
41
|
+
- [EDUDEVOPS-98](https://jira.bars.group/browse/EDUDEVOPS-98)
|
|
42
|
+
MINOR Добавлена возможность зачистки устаревших данных сервисных моделей РВД
|
|
43
|
+
в команду/ночной скрипт rdm_cleanup_outdated_data`.
|
|
44
|
+
|
|
45
|
+
### Исправлено
|
|
46
|
+
|
|
47
|
+
- [EDUDEVOPS-101](https://jira.bars.group/browse/EDUDEVOPS-101)
|
|
48
|
+
PATCH Переименована настройка `COLLECT_PROGRESS_BATCH_SIZE` в `RDM_COLLECT_PROGRESS_BATCH_SIZE`.
|
|
49
|
+
|
|
50
|
+
Добавлены новые настройки
|
|
51
|
+
|
|
52
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
53
|
+
|---------------------------------------|------------------------------------------------------------|-----------------------|
|
|
54
|
+
| ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
|
|
55
|
+
|
|
56
|
+
В settings.py:
|
|
57
|
+
|
|
58
|
+
- Добавить значение по умолчанию:
|
|
59
|
+
```
|
|
60
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
61
|
+
...
|
|
62
|
+
('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA'): False,
|
|
63
|
+
...
|
|
64
|
+
})
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- Получить значение настройки из конфигурационного файла:
|
|
68
|
+
```
|
|
69
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
70
|
+
RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_SERVICE_OUTDATED_DATA')
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
# Настройка зачистки устаревших данных
|
|
77
|
+
[rdm_cleanup_outdated_data]
|
|
78
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
79
|
+
ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = False
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
## [3.21.0] - 2025-10-08
|
|
84
|
+
|
|
85
|
+
Переименование m3-django-compat в m3-django-compatibility.
|
|
86
|
+
|
|
87
|
+
### Изменено
|
|
88
|
+
|
|
89
|
+
- [PYTD-20](https://jira.bars.group/browse/PYTD-20)
|
|
90
|
+
MINOR Переименование m3-django-compat в m3-django-compatibility.
|
|
91
|
+
|
|
92
|
+
|
|
32
93
|
## [3.20.0] - 2025-10-06
|
|
33
94
|
|
|
34
95
|
Проверка записей моделей РВД на устаревание чанками при помощи asyncio. Добавление настроек для работы.
|
|
@@ -313,7 +374,7 @@ settings.py в установленные приложения.
|
|
|
313
374
|
- Получить значение настройки из конфигурационного файла:
|
|
314
375
|
```
|
|
315
376
|
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
316
|
-
|
|
377
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
317
378
|
```
|
|
318
379
|
|
|
319
380
|
- В дефолтный конфиг проекта необходимо добавить:
|
|
@@ -334,6 +395,60 @@ settings.py в установленные приложения.
|
|
|
334
395
|
MINOR Поднять версию Django до 4.2.23
|
|
335
396
|
|
|
336
397
|
|
|
398
|
+
## [3.15.4] - 2025-01-27
|
|
399
|
+
|
|
400
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
401
|
+
оптимизирована производительность bulk_create операций.
|
|
402
|
+
|
|
403
|
+
### Добавлено
|
|
404
|
+
|
|
405
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
406
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
407
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
408
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
409
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
410
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
411
|
+
|
|
412
|
+
### Изменено
|
|
413
|
+
|
|
414
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
415
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
416
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
417
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
418
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
419
|
+
|
|
420
|
+
### Добавлены новые настройки
|
|
421
|
+
|
|
422
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
423
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
424
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
425
|
+
|
|
426
|
+
В settings.py:
|
|
427
|
+
|
|
428
|
+
- Добавить значение по умолчанию:
|
|
429
|
+
```
|
|
430
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
431
|
+
...
|
|
432
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
433
|
+
...
|
|
434
|
+
})
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
- Получить значение настройки из конфигурационного файла:
|
|
438
|
+
```
|
|
439
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
440
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
444
|
+
|
|
445
|
+
```
|
|
446
|
+
[rmd_general]
|
|
447
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
448
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
|
|
337
452
|
## [3.15.3] - 2025-08-12
|
|
338
453
|
|
|
339
454
|
### Добавлено
|
|
@@ -465,7 +580,7 @@ settings.py в установленные приложения.
|
|
|
465
580
|
- Получить значение настройки из конфигурационного файла:
|
|
466
581
|
```
|
|
467
582
|
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
468
|
-
|
|
583
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
469
584
|
```
|
|
470
585
|
|
|
471
586
|
- В дефолтный конфиг проекта необходимо добавить:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.22.0
|
|
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
|
|
@@ -30,7 +30,7 @@ Requires-Dist: asyncpg==0.23.0
|
|
|
30
30
|
Requires-Dist: educommon<4,>=3.25.0
|
|
31
31
|
Requires-Dist: edu-function-tools<1,>=0.2.0
|
|
32
32
|
Requires-Dist: m3-db-utils<1,>=0.7.0
|
|
33
|
-
Requires-Dist: m3-django-
|
|
33
|
+
Requires-Dist: m3-django-compatibility<2,>=1.12.0
|
|
34
34
|
Requires-Dist: m3-ui<2.3,>=2.2.122
|
|
35
35
|
Requires-Dist: uploader-client<1,>=0.3.0
|
|
36
36
|
Provides-Extra: dev
|
|
@@ -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'): '*',
|
|
@@ -230,6 +231,9 @@ INSTALLED_APPS = (
|
|
|
230
231
|
# Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
|
|
231
232
|
RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
|
|
232
233
|
|
|
234
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
235
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
236
|
+
|
|
233
237
|
# Настройка запуска периодической задачи выгрузки данных:
|
|
234
238
|
RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
|
|
235
239
|
RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
|
|
@@ -315,6 +319,8 @@ INSTALLED_APPS = (
|
|
|
315
319
|
|
|
316
320
|
# Включить зачистку устаревших данных моделей РВД
|
|
317
321
|
RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
|
|
322
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
323
|
+
RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
|
|
318
324
|
# Размер чанка записей зачистки устаревших данных моделей РВД
|
|
319
325
|
RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
|
|
320
326
|
# Количество подключений к БД для зачистки устаревших данных моделей РВД
|
|
@@ -332,6 +338,7 @@ INSTALLED_APPS = (
|
|
|
332
338
|
| RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
|
|
333
339
|
| RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину (в байтах). | 500_000_000 |
|
|
334
340
|
| RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
|
|
341
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
|
|
335
342
|
| RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
|
|
336
343
|
| RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
|
|
337
344
|
| RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
|
|
@@ -379,6 +386,7 @@ INSTALLED_APPS = (
|
|
|
379
386
|
| RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
|
|
380
387
|
| RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
|
|
381
388
|
| RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
|
|
389
|
+
| RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
|
|
382
390
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
|
|
383
391
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
|
|
384
392
|
|
|
@@ -395,6 +403,8 @@ INSTALLED_APPS = (
|
|
|
395
403
|
EXPORT_CHUNK_SIZE = 500
|
|
396
404
|
# Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
|
|
397
405
|
COLLECT_CHUNK_SIZE = 500
|
|
406
|
+
# Размер батча для bulk_create операций при сборе данных РВД
|
|
407
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
398
408
|
# Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
|
|
399
409
|
UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
|
|
400
410
|
# Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
|
|
@@ -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'): '*',
|
|
@@ -182,6 +183,9 @@ INSTALLED_APPS = (
|
|
|
182
183
|
# Пункт меню "Региональная витрина данных" - Спрятать (False) / Отображать (True)
|
|
183
184
|
RDM_MENU_ITEM = conf.get_bool('rdm_general', 'RDM_MENU_ITEM')
|
|
184
185
|
|
|
186
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
187
|
+
RDM_COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
188
|
+
|
|
185
189
|
# Настройка запуска периодической задачи выгрузки данных:
|
|
186
190
|
RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE')
|
|
187
191
|
RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR')
|
|
@@ -267,6 +271,8 @@ INSTALLED_APPS = (
|
|
|
267
271
|
|
|
268
272
|
# Включить зачистку устаревших данных моделей РВД
|
|
269
273
|
RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
|
|
274
|
+
# Включить зачистку устаревших данных сервисных моделей РВД
|
|
275
|
+
RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA = conf.get_bool('rdm_cleanup_outdated_data', 'ENABLE_CLEANUP_MODELS_OUTDATED_DATA')
|
|
270
276
|
# Размер чанка записей зачистки устаревших данных моделей РВД
|
|
271
277
|
RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE = conf.get_int('rdm_cleanup_outdated_data', 'CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE')
|
|
272
278
|
# Количество подключений к БД для зачистки устаревших данных моделей РВД
|
|
@@ -284,6 +290,7 @@ INSTALLED_APPS = (
|
|
|
284
290
|
| RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE | # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified | 5000 |
|
|
285
291
|
| RDM_UPLOAD_QUEUE_MAX_SIZE | Объем очереди файлов в витрину (в байтах). | 500_000_000 |
|
|
286
292
|
| RDM_MENU_ITEM | Отображение пункта меню Пункт меню "Региональная витрина данных" | False |
|
|
293
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для сохранений записей в базу при сборе данных РВД | 10000 |
|
|
287
294
|
| RDM_TRANSFER_TASK_MINUTE | Настройка запуска периодической задачи выгрузки данных. Минута | '0' |
|
|
288
295
|
| RDM_TRANSFER_TASK_HOUR | Настройка запуска периодической задачи выгрузки данных. Час | '*/4' |
|
|
289
296
|
| RDM_TRANSFER_TASK_DAY_OF_WEEK | Настройка запуска периодической задачи выгрузки данных. День недели | '*' |
|
|
@@ -331,6 +338,7 @@ INSTALLED_APPS = (
|
|
|
331
338
|
| RDM_EXPORT_LOG_DIR | Директория логов экспорта данных, доступных для скачивания | |
|
|
332
339
|
| RDM_UPLOAD_LOG_DIR | Директория логов отправки данных в витрину, доступных для скачивания | |
|
|
333
340
|
| RDM_ENABLE_CLEANUP_MODELS_OUTDATED_DATA | Включение зачистки устаревших данных моделей РВД | False |
|
|
341
|
+
| RDM_ENABLE_CLEANUP_SERVICE_OUTDATED_DATA | Включение зачистки устаревших данных сервисных моделей РВД | False |
|
|
334
342
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_CHUNK_SIZE | Размер чанка записей зачистки устаревших данных моделей РВД | 10000 |
|
|
335
343
|
| RDM_CLEANUP_MODELS_OUTDATED_DATA_POOL_SIZE | Количество подключений к БД для зачистки устаревших данных моделей РВД | 10 |
|
|
336
344
|
|
|
@@ -347,6 +355,8 @@ INSTALLED_APPS = (
|
|
|
347
355
|
EXPORT_CHUNK_SIZE = 500
|
|
348
356
|
# Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных
|
|
349
357
|
COLLECT_CHUNK_SIZE = 500
|
|
358
|
+
# Размер батча для bulk_create операций при сборе данных РВД
|
|
359
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
350
360
|
# Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified
|
|
351
361
|
UPDATE_NON_EXPORTED_CHUNK_SIZE = 5000
|
|
352
362
|
# Объем очереди файлов в витрину (в байтах) - по умолчанию 512 Мбайт.
|
|
@@ -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
|
+
]
|