# Generated by Django 3.2.24 on 2025-06-28 14:07

import django.db.models.deletion
from django.db import (
    migrations,
    models,
)

import educommon.django.db.mixins
import educommon.utils.date


class Migration(migrations.Migration):
    initial = True

    dependencies = [
        ('function_tools', '0005_auto_20220724_0050'),
        ('edu_rdm_integration', '0017_delete_uploaddatacommand'),
    ]

    operations = [
        migrations.SeparateDatabaseAndState(
            state_operations=[
                migrations.CreateModel(
                    name='CollectingDataStageStatus',
                    fields=[
                        ('title', models.TextField(verbose_name='расшифровка значения')),
                        (
                            'key',
                            models.CharField(
                                db_index=True, max_length=512, primary_key=True, serialize=False, verbose_name='ключ'
                            ),
                        ),
                        ('order_number', models.PositiveIntegerField(default=100000, verbose_name='Порядковый номер')),
                    ],
                    options={
                        'verbose_name': 'Модель-перечисление статусов этапа сбора данных',
                        'verbose_name_plural': 'Модели-перечисления статусов этапов сбора данных',
                        'db_table': 'rdm_collecting_data_stage_status',
                    },
                ),
                migrations.CreateModel(
                    name='CollectingDataSubStageStatus',
                    fields=[
                        ('title', models.TextField(verbose_name='расшифровка значения')),
                        (
                            'key',
                            models.CharField(
                                db_index=True, max_length=512, primary_key=True, serialize=False, verbose_name='ключ'
                            ),
                        ),
                        ('order_number', models.PositiveIntegerField(default=100000, verbose_name='Порядковый номер')),
                    ],
                    options={
                        'verbose_name': 'Модель-перечисление статусов подэтапа сбора данных',
                        'verbose_name_plural': 'Модели-перечисления статусов подэтапов сбора данных',
                        'db_table': 'rdm_collecting_data_sub_stage_status',
                    },
                ),
                migrations.CreateModel(
                    name='CollectingExportedDataStage',
                    fields=[
                        (
                            'id',
                            models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
                        ),
                        (
                            'logs_period_started_at',
                            models.DateTimeField(
                                db_index=True,
                                default=educommon.utils.date.get_today_min_datetime,
                                verbose_name='Левая граница периода обрабатываемых логов',
                            ),
                        ),
                        (
                            'logs_period_ended_at',
                            models.DateTimeField(
                                db_index=True,
                                default=educommon.utils.date.get_today_max_datetime,
                                verbose_name='Правая граница периода обрабатываемых логов',
                            ),
                        ),
                        (
                            'started_at',
                            models.DateTimeField(
                                auto_now_add=True, db_index=True, verbose_name='Время начала сбора данных'
                            ),
                        ),
                        (
                            'ended_at',
                            models.DateTimeField(
                                blank=True, db_index=True, null=True, verbose_name='Время завершения сбора данных'
                            ),
                        ),
                        (
                            'manager',
                            models.ForeignKey(
                                blank=True,
                                null=True,
                                on_delete=django.db.models.deletion.PROTECT,
                                to='function_tools.entity',
                                verbose_name='Менеджер ранера Функции',
                            ),
                        ),
                        (
                            'status',
                            models.ForeignKey(
                                default='CREATED',
                                on_delete=django.db.models.deletion.PROTECT,
                                to='edu_rdm_integration_collect_data_stage.collectingdatastagestatus',
                                verbose_name='Статус',
                            ),
                        ),
                    ],
                    options={
                        'verbose_name': 'Этап формирования данных для выгрузки',
                        'verbose_name_plural': 'Этапы формирования данных для выгрузки',
                        'db_table': 'rdm_collecting_exported_data_stage',
                    },
                    bases=(educommon.django.db.mixins.ReprStrPreModelMixin, models.Model),
                ),
                migrations.CreateModel(
                    name='CollectingExportedDataSubStage',
                    fields=[
                        (
                            'id',
                            models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
                        ),
                        (
                            'started_at',
                            models.DateTimeField(
                                auto_now_add=True, db_index=True, verbose_name='Время начала сбора данных'
                            ),
                        ),
                        (
                            'ended_at',
                            models.DateTimeField(
                                blank=True, db_index=True, null=True, verbose_name='Время завершения сбора данных'
                            ),
                        ),
                        (
                            'function',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.PROTECT,
                                to='function_tools.entity',
                                verbose_name='Функция',
                            ),
                        ),
                        (
                            'previous',
                            models.ForeignKey(
                                blank=True,
                                null=True,
                                on_delete=django.db.models.deletion.CASCADE,
                                to='edu_rdm_integration_collect_data_stage.collectingexporteddatasubstage',
                                verbose_name='Предыдущий сбор данных',
                            ),
                        ),
                        (
                            'stage',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.PROTECT,
                                to='edu_rdm_integration_collect_data_stage.collectingexporteddatastage',
                                verbose_name='Этап подготовки данных для экспорта',
                            ),
                        ),
                        (
                            'status',
                            models.ForeignKey(
                                default='CREATED',
                                on_delete=django.db.models.deletion.PROTECT,
                                to='edu_rdm_integration_collect_data_stage.collectingdatasubstagestatus',
                                verbose_name='Статус',
                            ),
                        ),
                    ],
                    options={
                        'verbose_name': 'Подэтап формирования данных для выгрузки',
                        'verbose_name_plural': 'Подэтапы формирования данных для выгрузки',
                        'db_table': 'rdm_collecting_exported_data_sub_stage',
                    },
                    bases=(educommon.django.db.mixins.ReprStrPreModelMixin, models.Model),
                ),
            ],
            database_operations=[],
        ),
    ]
