operations_project/apps/brands/migrations/0001_initial.py

100 lines
6.6 KiB
Python
Raw Normal View History

2025-05-13 11:58:17 +08:00
# 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')},
},
),
]