# Generated by Django 5.1.4 on 2024-12-25 04:55 from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='ExternalDBSettings', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(help_text='Имя подключения для идентификации.', max_length=255, unique=True)), ('host', models.CharField(help_text='Адрес сервера базы данных.', max_length=255)), ('port', models.PositiveIntegerField(default=3306, help_text='Порт сервера базы данных.')), ('user', models.CharField(help_text='Имя пользователя базы данных.', max_length=255)), ('password', models.CharField(help_text='Пароль для подключения.', max_length=255)), ('database', models.CharField(default='u1510415_wp832', help_text='Имя базы данных.', max_length=255)), ('table_name', models.CharField(blank=True, default='wpts_user_activity_log', help_text='Имя таблицы для загрузки данных.', max_length=255, null=True)), ('selected_fields', models.TextField(blank=True, help_text='Список полей для загрузки (через запятую).', null=True)), ('is_active', models.BooleanField(default=True, help_text='Флаг активности подключения.')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Настройка подключения к БД', 'verbose_name_plural': 'Настройки подключений к БД', }, ), migrations.CreateModel( name='ImportedHotel', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('external_id', models.CharField(max_length=255, verbose_name='Внешний ID отеля')), ('name', models.CharField(max_length=255, verbose_name='Имя отеля')), ('display_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Отображаемое имя')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Дата обновления')), ('imported', models.BooleanField(default=False, verbose_name='Импортирован в основную базу')), ], options={ 'verbose_name': 'Импортированный отель', 'verbose_name_plural': 'Импортированные отели', }, ), migrations.CreateModel( name='RoomDiscrepancy', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('room_number', models.CharField(max_length=50, verbose_name='Номер комнаты')), ('booking_id', models.CharField(max_length=255, verbose_name='ID бронирования')), ('check_in_date_expected', models.DateField(verbose_name='Ожидаемая дата заселения')), ('check_in_date_actual', models.DateField(verbose_name='Фактическая дата заселения')), ('discrepancy_type', models.CharField(choices=[('early', 'Раннее заселение'), ('late', 'Позднее заселение'), ('missed', 'Неявка')], max_length=50, verbose_name='Тип несоответствия')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')), ], options={ 'verbose_name': 'Несовпадение в заселении', 'verbose_name_plural': 'Несовпадения в заселении', }, ), migrations.CreateModel( name='SyncLog', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now=True, verbose_name='Дата обновления')), ('recieved_records', models.IntegerField(default=0, verbose_name='Полученные записи')), ('processed_records', models.IntegerField(default=0, verbose_name='Обработанные записи')), ], options={ 'verbose_name': 'Журнал синхронизации', 'verbose_name_plural': 'Журналы синхронизации', }, ), migrations.CreateModel( name='UserActivityLog', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('external_id', models.CharField(db_index=True, max_length=255, unique=True, verbose_name='Внешний ID')), ('user_id', models.BigIntegerField(blank=True, db_index=True, null=True, verbose_name='ID пользователя')), ('ip', models.GenericIPAddressField(blank=True, db_index=True, null=True, verbose_name='IP-адрес')), ('created', models.DateTimeField(blank=True, db_index=True, null=True, verbose_name='Дата создания')), ('timestamp', models.BigIntegerField(blank=True, null=True, verbose_name='Метка времени')), ('date_time', models.DateTimeField(blank=True, null=True, verbose_name='Дата и время')), ('referred', models.TextField(blank=True, null=True, verbose_name='Реферальная ссылка')), ('agent', models.TextField(blank=True, null=True, verbose_name='Агент пользователя')), ('platform', models.CharField(blank=True, max_length=255, null=True, verbose_name='Платформа')), ('version', models.CharField(blank=True, max_length=255, null=True, verbose_name='Версия')), ('model', models.CharField(blank=True, max_length=255, null=True, verbose_name='Модель устройства')), ('device', models.CharField(blank=True, max_length=255, null=True, verbose_name='Тип устройства')), ('UAString', models.TextField(blank=True, null=True, verbose_name='User-Agent строка')), ('location', models.CharField(blank=True, max_length=255, null=True, verbose_name='Местоположение')), ('page_id', models.BigIntegerField(blank=True, db_index=True, null=True, verbose_name='ID страницы')), ('url_parameters', models.TextField(blank=True, null=True, verbose_name='Параметры URL')), ('page_title', models.TextField(blank=True, null=True, verbose_name='Заголовок страницы')), ('type', models.CharField(blank=True, max_length=50, null=True, verbose_name='Тип')), ('last_counter', models.IntegerField(blank=True, null=True, verbose_name='Последний счетчик')), ('hits', models.IntegerField(blank=True, default='0', null=True, verbose_name='Количество обращений')), ('honeypot', models.BooleanField(blank=True, null=True, verbose_name='Метка honeypot')), ('reply', models.BooleanField(blank=True, null=True, verbose_name='Ответ пользователя')), ('page_url', models.URLField(blank=True, null=True, verbose_name='URL страницы')), ], options={ 'verbose_name': 'Регистрация посетителей', 'verbose_name_plural': 'Регистрации посетителей', }, ), migrations.CreateModel( name='ViolationLog', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('room_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='Номер комнаты')), ('violation_type', models.CharField(choices=[('missed', 'Неявка'), ('early', 'Раннее заселение'), ('late', 'Позднее заселение')], max_length=50, verbose_name='Тип нарушения')), ('violation_details', models.TextField(blank=True, null=True, verbose_name='Детали нарушения')), ('hits', models.IntegerField(verbose_name='Срабатывания')), ('detected_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата обнаружения')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')), ], options={ 'verbose_name': 'Журнал нарушений', 'verbose_name_plural': 'Журналы нарушений', }, ), ]