delete migtations

This commit is contained in:
ywh
2025-11-15 20:06:07 +08:00
parent 0ad953aa11
commit dccf20cf93
12 changed files with 1 additions and 299 deletions
+1
View File
@@ -59,3 +59,4 @@ htmlcov/
.ruff_cache/ .ruff_cache/
.sass-cache/ .sass-cache/
.gitignore
View File
@@ -1,44 +0,0 @@
# Generated by Django 5.2.8 on 2025-11-12 13:01
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='NotificationEmail',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email', models.EmailField(max_length=254, unique=True, validators=[django.core.validators.EmailValidator()], verbose_name='邮箱地址')),
('is_enabled', models.BooleanField(default=True, verbose_name='是否启用')),
('description', models.CharField(blank=True, max_length=200, null=True, verbose_name='描述')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
],
options={
'verbose_name': '通知邮箱',
'verbose_name_plural': '通知邮箱',
'ordering': ['-created_at'],
},
),
migrations.CreateModel(
name='NotificationSettings',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email_notification_enabled', models.BooleanField(default=True, verbose_name='邮件通知总开关')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
],
options={
'verbose_name': '通知设置',
'verbose_name_plural': '通知设置',
},
),
]
@@ -1,40 +0,0 @@
# Generated by Django 5.2.8 on 2025-11-12 13:33
import django.db.models.deletion
import django.utils.timezone
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
('finance', '0001_initial'),
('personnel', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='EvaluationRecord',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('item_description', models.CharField(max_length=255, verbose_name='加/扣分事项说明')),
('bonus_score', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='加分数值')),
('deduction_score', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='扣分数值')),
('remarks', models.CharField(blank=True, max_length=255, verbose_name='备注')),
('total_score', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='总计分数')),
('evaluation_date', models.DateField(default=django.utils.timezone.now, verbose_name='考评日期')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
('department', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evaluation_records', to='finance.department', verbose_name='所属部门')),
('personnel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evaluation_records', to='personnel.personnel', verbose_name='人员')),
],
options={
'verbose_name': '考评记录',
'verbose_name_plural': '考评记录',
'ordering': ['-evaluation_date', '-created_at'],
'indexes': [models.Index(fields=['department', 'evaluation_date'], name='evaluation__departm_69a30f_idx'), models.Index(fields=['personnel', 'evaluation_date'], name='evaluation__personn_7ee639_idx')],
},
),
]
@@ -1,107 +0,0 @@
# Generated by Django 5.2.8 on 2025-11-12 12:47
import django.db.models.deletion
import items.models
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Category',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, unique=True, verbose_name='类别名称')),
('description', models.TextField(blank=True, verbose_name='类别描述')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
],
options={
'verbose_name': '物品类别',
'verbose_name_plural': '物品类别',
'ordering': ['name'],
},
),
migrations.CreateModel(
name='Item',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='物品名称')),
('description', models.TextField(blank=True, verbose_name='物品描述')),
('serial_number', models.CharField(max_length=50, unique=True, verbose_name='序列号')),
('category', models.CharField(max_length=50, verbose_name='物品类别')),
('status', models.CharField(choices=[('available', '可用'), ('in_use', '使用中'), ('maintenance', '维护中'), ('damaged', '损坏'), ('lost', '丢失'), ('abandoned', '已弃用'), ('prohibited', '禁止借用')], default='available', max_length=20, verbose_name='物品状态')),
('location', models.CharField(blank=True, max_length=100, verbose_name='存放位置')),
('owner', models.CharField(blank=True, max_length=100, null=True, verbose_name='所有者')),
('purchase_date', models.DateField(blank=True, null=True, verbose_name='购买日期')),
('value', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='价值')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
],
options={
'verbose_name': '物品',
'verbose_name_plural': '物品',
'ordering': ['-created_at'],
},
),
migrations.CreateModel(
name='ItemImage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(upload_to=items.models.get_item_image_path, verbose_name='图片')),
('description', models.CharField(blank=True, max_length=200, verbose_name='图片描述')),
('is_primary', models.BooleanField(default=False, verbose_name='是否为主图')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='上传时间')),
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='items.item', verbose_name='物品')),
],
options={
'verbose_name': '物品图片',
'verbose_name_plural': '物品图片',
'ordering': ['-is_primary', '-created_at'],
},
),
migrations.CreateModel(
name='ItemUsage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('user', models.CharField(max_length=100, verbose_name='借用人姓名')),
('borrower_contact', models.CharField(default='NONE', max_length=100, verbose_name='借用人联系方式')),
('expected_return_time', models.DateTimeField(blank=True, null=True, verbose_name='预计归还时间')),
('start_time', models.DateTimeField(verbose_name='开始使用时间')),
('end_time', models.DateTimeField(blank=True, null=True, verbose_name='结束使用时间')),
('purpose', models.CharField(max_length=200, verbose_name='使用目的')),
('notes', models.TextField(blank=True, verbose_name='使用备注')),
('is_returned', models.BooleanField(default=False, verbose_name='是否已归还')),
('condition_before', models.CharField(blank=True, max_length=200, verbose_name='使用前状况')),
('condition_after', models.CharField(blank=True, max_length=200, verbose_name='使用后状况')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='记录创建时间')),
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='items.item', verbose_name='物品')),
],
options={
'verbose_name': '使用记录',
'verbose_name_plural': '使用记录',
'ordering': ['-start_time'],
},
),
migrations.CreateModel(
name='UsageImage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(upload_to='usage_images/', verbose_name='图片')),
('image_type', models.CharField(choices=[('borrow', '借用时'), ('return', '归还时')], max_length=10, verbose_name='图片类型')),
('description', models.CharField(blank=True, max_length=200, verbose_name='图片描述')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='上传时间')),
('usage', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='items.itemusage', verbose_name='使用记录')),
],
options={
'verbose_name': '使用记录图片',
'verbose_name_plural': '使用记录图片',
'ordering': ['-created_at'],
},
),
]
@@ -1,48 +0,0 @@
# Generated by Django 5.2.8 on 2025-11-12 13:01
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Memo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=200, verbose_name='标题')),
('content', models.TextField(blank=True, verbose_name='内容')),
('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='是否启用')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='创建者')),
],
options={
'verbose_name': '备忘录',
'verbose_name_plural': '备忘录',
'ordering': ['-updated_at'],
},
),
migrations.CreateModel(
name='MemoImage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(upload_to='memo_images/', verbose_name='图片')),
('uploaded_at', models.DateTimeField(auto_now_add=True, verbose_name='上传时间')),
('alt_text', models.CharField(blank=True, max_length=200, verbose_name='图片描述')),
('memo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='memo.memo', verbose_name='备忘录')),
],
options={
'verbose_name': '备忘录图片',
'verbose_name_plural': '备忘录图片',
},
),
]
@@ -1,60 +0,0 @@
# Generated by Django 5.2.8 on 2025-11-12 13:01
import django.core.validators
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
('finance', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='ProjectGroup',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, verbose_name='项目组名称')),
('description', models.TextField(blank=True, null=True, verbose_name='项目组描述')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('departments', models.ManyToManyField(related_name='project_groups', to='finance.department', verbose_name='所属部门')),
],
options={
'verbose_name': '项目组',
'verbose_name_plural': '项目组',
'ordering': ['name'],
},
),
migrations.CreateModel(
name='Personnel',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, verbose_name='姓名')),
('student_id', models.CharField(max_length=20, validators=[django.core.validators.RegexValidator(message='学号应为8-12位数字', regex='^\\d{8,12}$')], verbose_name='学号')),
('gender', models.CharField(choices=[('male', ''), ('female', '')], max_length=10, verbose_name='性别')),
('grade_major', models.CharField(max_length=100, verbose_name='年级专业')),
('position', models.CharField(max_length=50, verbose_name='职位')),
('start_date', models.DateField(verbose_name='任职开始时间')),
('end_date', models.DateField(blank=True, null=True, verbose_name='任职结束时间')),
('is_active', models.BooleanField(default=True, verbose_name='是否在职')),
('phone', models.CharField(max_length=11, validators=[django.core.validators.RegexValidator(message='请输入有效的手机号码', regex='^1[3-9]\\d{9}$')], verbose_name='手机号')),
('qq', models.CharField(max_length=15, validators=[django.core.validators.RegexValidator(message='QQ号应为5-15位数字', regex='^\\d{5,15}$')], verbose_name='QQ号')),
('email', models.EmailField(max_length=254, verbose_name='邮箱')),
('description', models.TextField(blank=True, null=True, verbose_name='备注信息')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
('department', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='finance.department', verbose_name='所属部门')),
('project_group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='personnel.projectgroup', verbose_name='项目组')),
],
options={
'verbose_name': '人员信息',
'verbose_name_plural': '人员信息',
'ordering': ['-is_active', 'department', 'position', 'name'],
'indexes': [models.Index(fields=['department', 'is_active'], name='personnel_p_departm_c45b4b_idx'), models.Index(fields=['student_id'], name='personnel_p_student_5d98b3_idx')],
},
),
]