# Generated by Django 5.1.4 on 2024-12-12 12:28 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('hotels', '0004_alter_reservation_room_number'), ] 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='Порт сервера базы данных.')), ('database', models.CharField(help_text='Имя базы данных.', max_length=255)), ('user', models.CharField(help_text='Имя пользователя базы данных.', max_length=255)), ('password', models.CharField(help_text='Пароль для подключения.', max_length=255)), ('table_name', models.CharField(blank=True, 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='UserActivityLog', fields=[ ('id', models.BigIntegerField(primary_key=True, serialize=False)), ('user_id', models.BigIntegerField(verbose_name='ID пользователя')), ('ip', models.GenericIPAddressField(verbose_name='IP-адрес')), ('created', models.DateTimeField(verbose_name='Дата создания')), ('timestamp', models.BigIntegerField(verbose_name='Метка времени')), ('date_time', models.DateTimeField(verbose_name='Дата и время')), ('referred', models.TextField(blank=True, null=True, verbose_name='Реферальная ссылка')), ('agent', models.TextField(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(verbose_name='User-Agent строка')), ('location', models.CharField(blank=True, max_length=255, null=True, verbose_name='Местоположение')), ('page_id', models.BigIntegerField(blank=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(max_length=50, verbose_name='Тип')), ('last_counter', models.IntegerField(verbose_name='Последний счетчик')), ('hits', models.IntegerField(verbose_name='Количество обращений')), ('honeypot', models.BooleanField(verbose_name='Метка honeypot')), ('reply', models.BooleanField(verbose_name='Ответ пользователя')), ('page_url', models.URLField(blank=True, null=True, verbose_name='URL страницы')), ], 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='Дата создания')), ('hotel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hotels.hotel', verbose_name='Отель')), ], options={ 'verbose_name': 'Несовпадение в заселении', 'verbose_name_plural': 'Несовпадения в заселении', }, ), ]