# Generated by Django 5.2 on 2025-05-09 03:55 import django.db.models.deletion import uuid from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Brand', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='品牌名称')), ('description', models.TextField(blank=True, null=True, verbose_name='品牌描述')), ('logo_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='品牌Logo')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('is_active', models.BooleanField(default=True, verbose_name='是否激活')), ('dataset_id_list', models.JSONField(blank=True, default=list, help_text='所有关联的知识库ID列表', verbose_name='知识库ID列表')), ], options={ 'verbose_name': '品牌', 'verbose_name_plural': '品牌', 'db_table': 'brands', }, ), migrations.CreateModel( name='Activity', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, verbose_name='活动名称')), ('description', models.TextField(blank=True, null=True, verbose_name='活动描述')), ('image_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='活动图片')), ('start_date', models.DateTimeField(blank=True, null=True, verbose_name='开始日期')), ('end_date', models.DateTimeField(blank=True, null=True, verbose_name='结束日期')), ('dataset_id', models.CharField(help_text='外部知识库系统中的ID', max_length=100, verbose_name='知识库ID')), ('external_id', models.CharField(blank=True, help_text='外部系统中的唯一标识', max_length=100, null=True, verbose_name='外部ID')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('is_active', models.BooleanField(default=True, verbose_name='是否激活')), ('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='activities', to='brands.brand', verbose_name='所属品牌')), ], options={ 'verbose_name': '活动', 'verbose_name_plural': '活动', 'db_table': 'activities', 'indexes': [models.Index(fields=['brand'], name='activities_brand_i_9a57da_idx'), models.Index(fields=['dataset_id'], name='activities_dataset_c873ab_idx'), models.Index(fields=['is_active'], name='activities_is_acti_cff4bc_idx'), models.Index(fields=['start_date'], name='activities_start_d_fe1952_idx'), models.Index(fields=['end_date'], name='activities_end_dat_9cb2d8_idx')], 'unique_together': {('brand', 'name')}, }, ), migrations.CreateModel( name='BrandChatSession', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('session_id', models.CharField(max_length=100, unique=True, verbose_name='会话ID')), ('title', models.CharField(default='新对话', max_length=200, verbose_name='会话标题')), ('dataset_id_list', models.JSONField(blank=True, default=list, verbose_name='知识库ID列表')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('is_active', models.BooleanField(default=True, verbose_name='是否激活')), ('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='chat_sessions', to='brands.brand', verbose_name='品牌')), ], options={ 'verbose_name': '品牌聊天会话', 'verbose_name_plural': '品牌聊天会话', 'db_table': 'brand_chat_sessions', 'indexes': [models.Index(fields=['brand'], name='brand_chat__brand_i_83752e_idx'), models.Index(fields=['session_id'], name='brand_chat__session_4bf9b0_idx'), models.Index(fields=['created_at'], name='brand_chat__created_957266_idx')], }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, verbose_name='产品名称')), ('description', models.TextField(blank=True, null=True, verbose_name='产品描述')), ('image_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='产品图片')), ('dataset_id', models.CharField(help_text='外部知识库系统中的ID', max_length=100, verbose_name='知识库ID')), ('external_id', models.CharField(blank=True, help_text='外部系统中的唯一标识', max_length=100, null=True, verbose_name='外部ID')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('is_active', models.BooleanField(default=True, verbose_name='是否激活')), ('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='products', to='brands.brand', verbose_name='所属品牌')), ], options={ 'verbose_name': '产品', 'verbose_name_plural': '产品', 'db_table': 'products', 'indexes': [models.Index(fields=['brand'], name='products_brand_i_0d1950_idx'), models.Index(fields=['dataset_id'], name='products_dataset_faf62a_idx'), models.Index(fields=['is_active'], name='products_is_acti_cb485f_idx')], 'unique_together': {('brand', 'name')}, }, ), ]