feat: 表迁移

This commit is contained in:
shaohuzhang1 2024-03-18 17:54:48 +08:00
parent 9e22cf4968
commit f7b9677a8c
23 changed files with 112 additions and 509 deletions

View File

@ -1,5 +1,6 @@
# Generated by Django 4.1.10 on 2023-12-14 04:11
# Generated by Django 4.1.10 on 2024-03-18 16:02
import application.models.application
import django.contrib.postgres.fields
from django.db import migrations, models
import django.db.models.deletion
@ -11,8 +12,8 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('setting', '0001_initial'),
('dataset', '0001_initial'),
('setting', '0001_initial'),
('users', '0001_initial'),
]
@ -24,10 +25,12 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('name', models.CharField(max_length=128, verbose_name='应用名称')),
('desc', models.CharField(default='', max_length=128, verbose_name='引用描述')),
('desc', models.CharField(default='', max_length=512, verbose_name='引用描述')),
('prologue', models.CharField(default='', max_length=1024, verbose_name='开场白')),
('example', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, max_length=256), default=list, size=None, verbose_name='示例列表')),
('dialogue_number', models.IntegerField(default=0, verbose_name='会话数量')),
('dataset_setting', models.JSONField(default=application.models.application.get_dataset_setting_dict, verbose_name='数据集参数设置')),
('model_setting', models.JSONField(default=application.models.application.get_model_setting_dict, verbose_name='模型参数相关设置')),
('problem_optimization', models.BooleanField(default=False, verbose_name='问题优化')),
('model', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to='setting.model')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user')),
],
@ -56,6 +59,9 @@ class Migration(migrations.Migration):
('application', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='application.application', verbose_name='应用id')),
('access_token', models.CharField(max_length=128, unique=True, verbose_name='用户公开访问 认证token')),
('is_active', models.BooleanField(default=True, verbose_name='是否开启公开访问')),
('access_num', models.IntegerField(default=100, verbose_name='访问次数')),
('white_active', models.BooleanField(default=False, verbose_name='是否开启白名单')),
('white_list', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, max_length=128), default=list, size=None, verbose_name='白名单列表')),
],
options={
'db_table': 'application_access_token',
@ -68,22 +74,35 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('vote_status', models.CharField(choices=[('-1', '未投票'), ('0', '赞同'), ('1', '反对')], default='-1', max_length=10, verbose_name='投票')),
('source_id', models.UUIDField(null=True, verbose_name='资源id 段落/问题 id ')),
('source_type', models.CharField(blank=True, choices=[('0', '问题'), ('1', '段落')], default='0', max_length=2, null=True, verbose_name='资源类型')),
('problem_text', models.CharField(max_length=1024, verbose_name='问题')),
('answer_text', models.CharField(max_length=4096, verbose_name='答案')),
('message_tokens', models.IntegerField(default=0, verbose_name='请求token数量')),
('answer_tokens', models.IntegerField(default=0, verbose_name='响应token数量')),
('problem_text', models.CharField(max_length=1024, verbose_name='问题')),
('answer_text', models.CharField(max_length=1024, verbose_name='答案')),
('const', models.IntegerField(default=0, verbose_name='总费用')),
('details', models.JSONField(default=dict, verbose_name='对话详情')),
('improve_paragraph_id_list', django.contrib.postgres.fields.ArrayField(base_field=models.UUIDField(blank=True), default=list, size=None, verbose_name='改进标注列表')),
('run_time', models.FloatField(default=0, verbose_name='运行时长')),
('index', models.IntegerField(verbose_name='对话下标')),
('chat', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='application.chat')),
('dataset', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dataset.dataset', verbose_name='知识库')),
('paragraph', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dataset.paragraph', verbose_name='段落id')),
],
options={
'db_table': 'application_chat_record',
},
),
migrations.CreateModel(
name='ApplicationPublicAccessClient',
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(primary_key=True, serialize=False, verbose_name='公共访问链接客户端id')),
('access_num', models.IntegerField(default=0, verbose_name='访问总次数次数')),
('intraday_access_num', models.IntegerField(default=0, verbose_name='当日访问次数')),
('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='application.application', verbose_name='应用id')),
],
options={
'db_table': 'application_public_access_client',
},
),
migrations.CreateModel(
name='ApplicationDatasetMapping',
fields=[

View File

@ -1,20 +0,0 @@
# Generated by Django 4.1.10 on 2023-12-28 15:16
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dataset', '0002_dataset_meta_dataset_type_document_meta_and_more'),
('application', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='chatrecord',
name='dataset',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dataset.dataset', verbose_name='数据集'),
),
]

View File

@ -1,55 +0,0 @@
# Generated by Django 4.1.10 on 2024-01-12 18:46
import django.contrib.postgres.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('application', '0002_alter_chatrecord_dataset'),
]
operations = [
migrations.RemoveField(
model_name='chatrecord',
name='dataset',
),
migrations.RemoveField(
model_name='chatrecord',
name='paragraph',
),
migrations.RemoveField(
model_name='chatrecord',
name='source_id',
),
migrations.RemoveField(
model_name='chatrecord',
name='source_type',
),
migrations.AddField(
model_name='chatrecord',
name='const',
field=models.IntegerField(default=0, verbose_name='总费用'),
),
migrations.AddField(
model_name='chatrecord',
name='details',
field=models.JSONField(default=list, verbose_name='对话详情'),
),
migrations.AddField(
model_name='chatrecord',
name='paragraph_id_list',
field=django.contrib.postgres.fields.ArrayField(base_field=models.UUIDField(blank=True), default=list, size=None, verbose_name='引用段落id列表'),
),
migrations.AddField(
model_name='chatrecord',
name='run_time',
field=models.FloatField(default=0, verbose_name='运行时长'),
),
migrations.AlterField(
model_name='chatrecord',
name='answer_text',
field=models.CharField(max_length=4096, verbose_name='答案'),
),
]

View File

@ -1,38 +0,0 @@
# Generated by Django 4.1.10 on 2024-01-15 16:07
import application.models.application
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('application', '0003_remove_chatrecord_dataset_and_more'),
]
operations = [
migrations.RemoveField(
model_name='application',
name='example',
),
migrations.AddField(
model_name='application',
name='dataset_setting',
field=models.JSONField(default=application.models.application.get_dataset_setting_dict, verbose_name='数据集参数设置'),
),
migrations.AddField(
model_name='application',
name='model_setting',
field=models.JSONField(default=application.models.application.get_model_setting_dict, verbose_name='模型参数相关设置'),
),
migrations.AddField(
model_name='application',
name='problem_optimization',
field=models.BooleanField(default=False, verbose_name='问题优化'),
),
migrations.AlterField(
model_name='chatrecord',
name='details',
field=models.JSONField(default={}, verbose_name='对话详情'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 4.1.10 on 2024-01-16 11:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('application', '0004_remove_application_example_and_more'),
]
operations = [
migrations.AlterField(
model_name='chatrecord',
name='details',
field=models.JSONField(default=dict, verbose_name='对话详情'),
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 4.1.10 on 2024-01-19 14:02
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('application', '0005_alter_chatrecord_details'),
]
operations = [
migrations.RemoveField(
model_name='chatrecord',
name='paragraph_id_list',
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 4.1.10 on 2024-03-06 18:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('application', '0006_remove_chatrecord_paragraph_id_list'),
]
operations = [
migrations.AlterField(
model_name='application',
name='desc',
field=models.CharField(default='', max_length=512, verbose_name='引用描述'),
),
]

View File

@ -1,29 +0,0 @@
# Generated by Django 4.1.10 on 2024-03-12 17:11
import django.contrib.postgres.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('application', '0007_alter_application_desc'),
]
operations = [
migrations.AddField(
model_name='applicationaccesstoken',
name='access_num',
field=models.IntegerField(default=100, verbose_name='访问次数'),
),
migrations.AddField(
model_name='applicationaccesstoken',
name='white_active',
field=models.BooleanField(default=False, verbose_name='是否开启白名单'),
),
migrations.AddField(
model_name='applicationaccesstoken',
name='white_list',
field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, max_length=128), default=list, size=None, verbose_name='白名单列表'),
),
]

View File

@ -1,28 +0,0 @@
# Generated by Django 4.1.10 on 2024-03-14 05:03
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('application', '0008_applicationaccesstoken_access_num_and_more'),
]
operations = [
migrations.CreateModel(
name='ApplicationPublicAccessClient',
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(primary_key=True, serialize=False, verbose_name='公共访问链接客户端id')),
('access_num', models.IntegerField(default=0, verbose_name='访问总次数次数')),
('intraday_access_num', models.IntegerField(default=0, verbose_name='当日访问次数')),
('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='application.application', verbose_name='应用id')),
],
options={
'db_table': 'application_public_access_client',
},
),
]

View File

@ -5,3 +5,8 @@ class VectorField(models.Field):
def db_type(self, connection):
return 'vector'
class TsVectorField(models.Field):
def db_type(self, connection):
return 'tsvector'

View File

@ -1,4 +1,4 @@
# Generated by Django 4.1.10 on 2023-12-14 04:11
# Generated by Django 4.1.10 on 2024-03-18 16:02
from django.db import migrations, models
import django.db.models.deletion
@ -20,8 +20,10 @@ class Migration(migrations.Migration):
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('name', models.CharField(max_length=150, verbose_name='知识库名称')),
('name', models.CharField(max_length=150, verbose_name='数据集名称')),
('desc', models.CharField(max_length=256, verbose_name='数据库描述')),
('type', models.CharField(choices=[('0', '通用类型'), ('1', 'web站点类型')], default='0', max_length=1, verbose_name='类型')),
('meta', models.JSONField(default=dict, verbose_name='元数据')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user', verbose_name='所属用户')),
],
options={
@ -38,6 +40,8 @@ class Migration(migrations.Migration):
('char_length', models.IntegerField(verbose_name='文档字符数 冗余字段')),
('status', models.CharField(choices=[('0', '导入中'), ('1', '已完成'), ('2', '导入失败')], default='0', max_length=1, verbose_name='状态')),
('is_active', models.BooleanField(default=True)),
('type', models.CharField(choices=[('0', '通用类型'), ('1', 'web站点类型')], default='0', max_length=1, verbose_name='类型')),
('meta', models.JSONField(default=dict, verbose_name='元数据')),
('dataset', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.dataset')),
],
options={
@ -50,12 +54,10 @@ class Migration(migrations.Migration):
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('content', models.CharField(max_length=1024, verbose_name='段落内容')),
('content', models.CharField(max_length=4096, verbose_name='段落内容')),
('title', models.CharField(default='', max_length=256, verbose_name='标题')),
('hit_num', models.IntegerField(default=0, verbose_name='命中数量')),
('star_num', models.IntegerField(default=0, verbose_name='点赞数')),
('trample_num', models.IntegerField(default=0, verbose_name='点踩数')),
('status', models.CharField(choices=[('0', '导入中'), ('1', '已完成'), ('2', '导入失败')], default='0', max_length=1, verbose_name='状态')),
('hit_num', models.IntegerField(default=0, verbose_name='命中次数')),
('is_active', models.BooleanField(default=True)),
('dataset', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.dataset')),
('document', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.document')),
@ -71,15 +73,26 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('content', models.CharField(max_length=256, verbose_name='问题内容')),
('hit_num', models.IntegerField(default=0, verbose_name='命中数量')),
('star_num', models.IntegerField(default=0, verbose_name='点赞数')),
('trample_num', models.IntegerField(default=0, verbose_name='点踩数')),
('hit_num', models.IntegerField(default=0, verbose_name='命中次数')),
('dataset', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.dataset')),
('document', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.document')),
('paragraph', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.paragraph')),
],
options={
'db_table': 'problem',
},
),
migrations.CreateModel(
name='ProblemParagraphMapping',
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('dataset', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.dataset')),
('document', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.document')),
('paragraph', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.paragraph')),
('problem', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.problem')),
],
options={
'db_table': 'problem_paragraph_mapping',
},
),
]

View File

@ -1,38 +0,0 @@
# Generated by Django 4.1.10 on 2023-12-28 15:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dataset', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='dataset',
name='meta',
field=models.JSONField(default=dict, verbose_name='元数据'),
),
migrations.AddField(
model_name='dataset',
name='type',
field=models.CharField(choices=[('0', '通用类型'), ('1', 'web站点类型')], default='0', max_length=1, verbose_name='类型'),
),
migrations.AddField(
model_name='document',
name='meta',
field=models.JSONField(default=dict, verbose_name='元数据'),
),
migrations.AddField(
model_name='document',
name='type',
field=models.CharField(choices=[('0', '通用类型'), ('1', 'web站点类型')], default='0', max_length=1, verbose_name='类型'),
),
migrations.AlterField(
model_name='dataset',
name='name',
field=models.CharField(max_length=150, verbose_name='数据集名称'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 4.1.10 on 2023-12-29 17:49
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dataset', '0002_dataset_meta_dataset_type_document_meta_and_more'),
]
operations = [
migrations.AlterField(
model_name='paragraph',
name='content',
field=models.CharField(max_length=4096, verbose_name='段落内容'),
),
]

View File

@ -1,37 +0,0 @@
# Generated by Django 4.1.10 on 2024-01-16 11:22
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('dataset', '0003_alter_paragraph_content'),
]
operations = [
migrations.RemoveField(
model_name='paragraph',
name='hit_num',
),
migrations.RemoveField(
model_name='paragraph',
name='star_num',
),
migrations.RemoveField(
model_name='paragraph',
name='trample_num',
),
migrations.RemoveField(
model_name='problem',
name='hit_num',
),
migrations.RemoveField(
model_name='problem',
name='star_num',
),
migrations.RemoveField(
model_name='problem',
name='trample_num',
),
]

View File

@ -1,53 +0,0 @@
# Generated by Django 4.1.10 on 2024-03-08 18:29
from django.db import migrations, models
import django.db.models.deletion
import uuid
from embedding.models import SourceType
class Migration(migrations.Migration):
dependencies = [
('dataset', '0004_remove_paragraph_hit_num_remove_paragraph_star_num_and_more'),
]
operations = [
migrations.RemoveField(
model_name='problem',
name='document',
),
migrations.RemoveField(
model_name='problem',
name='paragraph',
),
migrations.AddField(
model_name='paragraph',
name='hit_num',
field=models.IntegerField(default=0, verbose_name='命中次数'),
),
migrations.AddField(
model_name='problem',
name='hit_num',
field=models.IntegerField(default=0, verbose_name='命中次数'),
),
migrations.CreateModel(
name='ProblemParagraphMapping',
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False,
verbose_name='主键id')),
('dataset', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING,
to='dataset.dataset')),
('document', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.document')),
('paragraph', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING,
to='dataset.paragraph')),
('problem', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING,
to='dataset.problem')),
],
options={
'db_table': 'problem_paragraph_mapping',
},
),
]

View File

@ -1,4 +1,4 @@
# Generated by Django 4.1.10 on 2023-12-14 04:11
# Generated by Django 4.1.10 on 2024-03-18 17:48
import common.field.vector_field
from django.db import migrations, models
@ -19,11 +19,10 @@ class Migration(migrations.Migration):
fields=[
('id', models.CharField(max_length=128, primary_key=True, serialize=False, verbose_name='主键id')),
('source_id', models.CharField(max_length=128, verbose_name='资源id')),
('source_type', models.CharField(choices=[('0', '问题'), ('1', '段落')], default='0', max_length=5, verbose_name='资源类型')),
('source_type', models.CharField(choices=[('0', '问题'), ('1', '段落'), ('2', '标题')], default='0', max_length=5, verbose_name='资源类型')),
('is_active', models.BooleanField(default=True, max_length=1, verbose_name='是否可用')),
('embedding', common.field.vector_field.VectorField(verbose_name='向量')),
('star_num', models.IntegerField(default=0, verbose_name='点赞数量')),
('trample_num', models.IntegerField(default=0, verbose_name='点踩数量')),
('meta', models.JSONField(default=dict, verbose_name='元数据')),
('dataset', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.dataset', verbose_name='文档关联')),
('document', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.document', verbose_name='文档关联')),
('paragraph', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, to='dataset.paragraph', verbose_name='段落关联')),

View File

@ -1,37 +0,0 @@
# Generated by Django 4.1.10 on 2024-01-16 11:22
import django.contrib.postgres.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('embedding', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='embedding',
name='star_num',
),
migrations.RemoveField(
model_name='embedding',
name='trample_num',
),
migrations.AddField(
model_name='embedding',
name='keywords',
field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=256), default=list, size=None, verbose_name='关键词列表'),
),
migrations.AddField(
model_name='embedding',
name='meta',
field=models.JSONField(default=dict, verbose_name='元数据'),
),
migrations.AlterField(
model_name='embedding',
name='source_type',
field=models.CharField(choices=[('0', '问题'), ('1', '段落'), ('2', '标题')], default='0', max_length=5, verbose_name='资源类型'),
),
]

View File

@ -6,7 +6,6 @@
@date2023/9/21 15:46
@desc:
"""
from django.contrib.postgres.fields import ArrayField
from django.db import models
from common.field.vector_field import VectorField
@ -38,9 +37,6 @@ class Embedding(models.Model):
embedding = VectorField(verbose_name="向量")
keywords = ArrayField(verbose_name="关键词列表",
base_field=models.CharField(max_length=256), default=list)
meta = models.JSONField(verbose_name="元数据", default=dict)
class Meta:

View File

@ -11,6 +11,7 @@ import os
import uuid
from typing import Dict, List
from django.contrib.postgres.search import SearchVector
from django.db.models import QuerySet
from langchain_community.embeddings import HuggingFaceEmbeddings

View File

@ -1,4 +1,4 @@
# Generated by Django 4.1.10 on 2023-12-14 04:11
# Generated by Django 4.1.10 on 2024-03-18 16:02
import django.contrib.postgres.fields
from django.db import migrations, models
@ -6,8 +6,12 @@ import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
def insert_default_data(apps, schema_editor):
TeamModel = apps.get_model('setting', 'Team')
TeamModel.objects.create(user_id='f0dd8f71-e4ee-11ee-8c84-a8a1595801ab', name='admin的团队')
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -20,21 +24,27 @@ class Migration(migrations.Migration):
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.DO_NOTHING, primary_key=True, serialize=False, to='users.user', verbose_name='团队所有者')),
('user',
models.OneToOneField(on_delete=django.db.models.deletion.DO_NOTHING, primary_key=True, serialize=False,
to='users.user', verbose_name='团队所有者')),
('name', models.CharField(max_length=128, verbose_name='团队名称')),
],
options={
'db_table': 'team',
},
),
migrations.RunPython(insert_default_data),
migrations.CreateModel(
name='TeamMember',
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('team', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='setting.team', verbose_name='团队id')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user', verbose_name='成员用户id')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False,
verbose_name='主键id')),
('team', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='setting.team',
verbose_name='团队id')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user',
verbose_name='成员用户id')),
],
options={
'db_table': 'team_member',
@ -45,11 +55,18 @@ class Migration(migrations.Migration):
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('auth_target_type', models.CharField(choices=[('DATASET', '知识库'), ('APPLICATION', '应用')], default='DATASET', max_length=128, verbose_name='授权目标')),
('target', models.UUIDField(verbose_name='知识库/应用id')),
('operate', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('MANAGE', '管理'), ('USE', '使用')], default='USE', max_length=256), size=None, verbose_name='权限操作列表')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='setting.teammember', verbose_name='团队成员')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False,
verbose_name='主键id')),
('auth_target_type',
models.CharField(choices=[('DATASET', '数据集'), ('APPLICATION', '应用')], default='DATASET',
max_length=128, verbose_name='授权目标')),
('target', models.UUIDField(verbose_name='数据集/应用id')),
('operate', django.contrib.postgres.fields.ArrayField(
base_field=models.CharField(blank=True, choices=[('MANAGE', '管理'), ('USE', '使用')],
default='USE', max_length=256), size=None,
verbose_name='权限操作列表')),
('member', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='setting.teammember',
verbose_name='团队成员')),
],
options={
'db_table': 'team_member_permission',
@ -60,13 +77,15 @@ class Migration(migrations.Migration):
fields=[
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False,
verbose_name='主键id')),
('name', models.CharField(max_length=128, verbose_name='名称')),
('model_type', models.CharField(max_length=128, verbose_name='模型类型')),
('model_name', models.CharField(max_length=128, verbose_name='模型名称')),
('provider', models.CharField(max_length=128, verbose_name='供应商')),
('credential', models.CharField(max_length=5120, verbose_name='模型认证信息')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user', verbose_name='成员用户id')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user',
verbose_name='成员用户id')),
],
options={
'db_table': 'model',

View File

@ -1,23 +0,0 @@
# Generated by Django 4.1.10 on 2023-12-28 15:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('setting', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='teammemberpermission',
name='auth_target_type',
field=models.CharField(choices=[('DATASET', '数据集'), ('APPLICATION', '应用')], default='DATASET', max_length=128, verbose_name='授权目标'),
),
migrations.AlterField(
model_name='teammemberpermission',
name='target',
field=models.UUIDField(verbose_name='数据集/应用id'),
),
]

View File

@ -1,11 +1,22 @@
# Generated by Django 4.1.10 on 2023-12-14 04:11
# Generated by Django 4.1.10 on 2024-03-18 16:02
from django.db import migrations, models
import uuid
from common.constants.permission_constants import RoleConstants
from users.models import password_encrypt
def insert_default_data(apps, schema_editor):
UserModel = apps.get_model('users', 'User')
UserModel.objects.create(id='f0dd8f71-e4ee-11ee-8c84-a8a1595801ab', email='', username='admin',
nick_name="系统管理员",
password=password_encrypt('MaxKB@123..'),
role=RoleConstants.ADMIN.name,
is_active=True)
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -15,8 +26,11 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='User',
fields=[
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')),
('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False,
verbose_name='主键id')),
('email', models.EmailField(max_length=254, unique=True, verbose_name='邮箱')),
('phone', models.CharField(default='', max_length=20, verbose_name='电话')),
('nick_name', models.CharField(default='', max_length=150, verbose_name='昵称')),
('username', models.CharField(max_length=150, unique=True, verbose_name='用户名')),
('password', models.CharField(max_length=150, verbose_name='密码')),
('role', models.CharField(max_length=150, verbose_name='角色')),
@ -26,4 +40,5 @@ class Migration(migrations.Migration):
'db_table': 'user',
},
),
migrations.RunPython(insert_default_data)
]

View File

@ -1,35 +0,0 @@
# Generated by Django 4.1.10 on 2024-03-18 13:55
import uuid
from django.db import migrations, models
from common.constants.permission_constants import RoleConstants
from users.models import password_encrypt
def insert_default_data(apps, schema_editor):
UserModel = apps.get_model('users', 'User')
UserModel.objects.create(id='f0dd8f71-e4ee-11ee-8c84-a8a1595801ab', email='', username='admin', nick_name="管理员",
password=password_encrypt('MaxKB@123..'),
role=RoleConstants.ADMIN.name,
is_active=True)
class Migration(migrations.Migration):
dependencies = [
('users', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='user',
name='nick_name',
field=models.CharField(default='', max_length=150, verbose_name='昵称'),
),
migrations.AddField(
model_name='user',
name='phone',
field=models.CharField(default='', max_length=20, verbose_name='电话'),
),
migrations.RunPython(insert_default_data)
]