delete migtations
This commit is contained in:
@@ -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')],
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user