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

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

import educommon.django.db.mixins
import m3_db_utils.mixins


class Migration(migrations.Migration):
    initial = True

    dependencies = [
        ('edu_rdm_integration_export_data_stage', '0001_initial'),
        ('uploader_client', '0001_initial'),
    ]

    operations = [
        migrations.SeparateDatabaseAndState(
            state_operations=[
                migrations.CreateModel(
                    name='DataMartRequestStatus',
                    fields=[
                        ('title', models.TextField(verbose_name='расшифровка значения')),
                        ('value', models.IntegerField(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_request_status',
                    },
                    bases=(m3_db_utils.mixins.BaseValueMixin, models.Model),
                ),
                migrations.CreateModel(
                    name='ExportingDataSubStageUploaderClientLog',
                    fields=[
                        (
                            'id',
                            models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
                        ),
                        (
                            'request_id',
                            models.CharField(
                                blank=True, db_index=True, max_length=100, verbose_name='Id запроса загрузки в витрину'
                            ),
                        ),
                        ('is_emulation', models.BooleanField(default=False, verbose_name='Включен режим эмуляции')),
                        (
                            'file_upload_status',
                            models.SmallIntegerField(
                                blank=True,
                                choices=[
                                    (1, 'В процессе загрузки в витрину'),
                                    (2, 'Загрузка в витрину закончена'),
                                    (3, 'Ошибка загрузки в витрину'),
                                ],
                                null=True,
                                verbose_name='Общий статус загрузки файла в витрину',
                            ),
                        ),
                        (
                            'created',
                            models.DateTimeField(
                                auto_now_add=True, db_index=True, null=True, verbose_name='Дата создания'
                            ),
                        ),
                        (
                            'modified',
                            models.DateTimeField(
                                auto_now=True, db_index=True, null=True, verbose_name='Дата изменения'
                            ),
                        ),
                        (
                            'attachment',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.CASCADE,
                                to='edu_rdm_integration_export_data_stage.exportingdatasubstageattachment',
                                verbose_name='Прикрепленный файл',
                            ),
                        ),
                        (
                            'entry',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.CASCADE,
                                related_name='uploader_client_log',
                                to='uploader_client.entry',
                                verbose_name='Лог запроса и ответа',
                            ),
                        ),
                        (
                            'sub_stage',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.CASCADE,
                                to='edu_rdm_integration_export_data_stage.exportingdatasubstage',
                                verbose_name='Подэтап выгрузки данных',
                            ),
                        ),
                    ],
                    options={
                        'verbose_name': 'Лог запроса подэтапа выгрузки данных',
                        'verbose_name_plural': 'Лог запроса подэтапа выгрузки данных',
                        'db_table': 'rdm_exporting_data_sub_stage_uploader_client_log',
                    },
                    bases=(educommon.django.db.mixins.ReprStrPreModelMixin, models.Model),
                ),
                migrations.CreateModel(
                    name='UploadStatusRequestLog',
                    fields=[
                        (
                            'id',
                            models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
                        ),
                        (
                            'entry',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.CASCADE,
                                related_name='upload_status_request_log',
                                to='uploader_client.entry',
                                verbose_name='Cвязь запроса статуса с запросом в витрину',
                            ),
                        ),
                        (
                            'request_status',
                            models.ForeignKey(
                                blank=True,
                                null=True,
                                on_delete=django.db.models.deletion.PROTECT,
                                to='edu_rdm_integration_upload_data_stage.datamartrequeststatus',
                                verbose_name='Статус запроса в витрине',
                            ),
                        ),
                        (
                            'upload',
                            models.ForeignKey(
                                on_delete=django.db.models.deletion.CASCADE,
                                to='edu_rdm_integration_upload_data_stage.exportingdatasubstageuploaderclientlog',
                                verbose_name='Cвязь запроса статуса с загрузкой файла в витрину',
                            ),
                        ),
                    ],
                    options={
                        'verbose_name': 'Лог запроса подэтапа выгрузки данных',
                        'verbose_name_plural': 'Логи запроса подэтапа выгрузки данных',
                        'db_table': 'rdm_upload_status_request_log',
                    },
                    bases=(educommon.django.db.mixins.ReprStrPreModelMixin, models.Model),
                ),
            ],
            database_operations=[],
        ),
    ]
