From 8561ef5e05dae4b70210e47c67e56cdbdefa087c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E8=8E=B9?= <1765557195@qq.com> Date: Mon, 27 Oct 2025 01:08:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85migrations=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servermanager/migrations/0001_initial.py | 30 ++++++++-------- ...002_alter_emailsendlog_options_and_more.py | 36 ++++++++++--------- 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/servermanager/migrations/0001_initial.py b/servermanager/migrations/0001_initial.py index bbdbf77..ee50cac 100644 --- a/servermanager/migrations/0001_initial.py +++ b/servermanager/migrations/0001_initial.py @@ -1,19 +1,21 @@ # Generated by Django 4.1.7 on 2023-03-02 07:14 - +# 说明:此文件由Django 4.1.7版本自动生成,生成时间为2023年3月2日7:14 +# 迁移文件用于记录数据库模型的创建和修改,通过Django的migrate命令同步到数据库 from django.db import migrations, models - +# 导入Django迁移模块和模型字段模块 class Migration(migrations.Migration): - - initial = True + # 定义迁移类,所有迁移操作都在这个类中定义 + initial = True # 标记为初始迁移(第一次创建模型时生成) dependencies = [ - ] + ] # 依赖的其他迁移文件列表,初始迁移无依赖,所以为空 + # 若后续迁移依赖其他应用的迁移,会在此处列出,如:['appname.0001_initial'] - operations = [ - migrations.CreateModel( + operations = [ # 迁移操作列表,包含模型的创建、修改等操作 + migrations.CreateModel( # 创建名为"commands"的模型(对应数据库表) name='commands', - fields=[ + fields=[ # 定义模型的字段(对应数据库表的列) ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=300, verbose_name='命令标题')), ('command', models.CharField(max_length=2000, verbose_name='命令')), @@ -21,12 +23,12 @@ class Migration(migrations.Migration): ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), ], - options={ - 'verbose_name': '命令', - 'verbose_name_plural': '命令', - }, + options={ # 模型的额外配置 + 'verbose_name': '命令', # 模型单数显示名称(后台管理用) + 'verbose_name_plural': '命令', # 模型复数显示名称(后台管理用) + }, # 若未指定ordering,默认按主键id排序 ), - migrations.CreateModel( + migrations.CreateModel( # 创建名为"EmailSendLog"的模型(邮件发送日志) name='EmailSendLog', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), @@ -39,7 +41,7 @@ class Migration(migrations.Migration): options={ 'verbose_name': '邮件发送log', 'verbose_name_plural': '邮件发送log', - 'ordering': ['-created_time'], + 'ordering': ['-created_time'], # 按创建时间倒序排列(最新的日志在前) }, ), ] diff --git a/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py b/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py index 4858857..54619d9 100644 --- a/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py +++ b/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py @@ -1,32 +1,36 @@ # Generated by Django 4.2.5 on 2023-09-06 13:19 - +# 说明:此文件由Django 4.2.5版本自动生成,生成时间为2023年9月6日13:19 +# 作用:记录数据库模型的修改操作(字段重命名、配置调整等),用于同步数据库结构变更 from django.db import migrations - +# 导入Django迁移模块 class Migration(migrations.Migration): - - dependencies = [ + # 迁移类,所有数据库变更操作在此定义 + dependencies = [ # 依赖的前置迁移文件:表示必须先执行'servermanager'应用的'0001_initial'迁移 + # 才能执行当前迁移(确保修改的是已存在的模型) ('servermanager', '0001_initial'), ] - operations = [ - migrations.AlterModelOptions( + operations = [ # 迁移操作列表:包含对模型的修改操作 + migrations.AlterModelOptions( # 修改'EmailSendLog'模型的元配置 name='emailsendlog', options={'ordering': ['-creation_time'], 'verbose_name': '邮件发送log', 'verbose_name_plural': '邮件发送log'}, - ), - migrations.RenameField( + ), # 1. 排序方式变更:按'creation_time'字段倒序排列(最新记录在前) + # (原配置可能是按其他字段排序,此处同步字段名变更后的排序) + # 2. 模型显示名称(单数和复数)保持不变 + migrations.RenameField( # 重命名'commands'模型的字段 model_name='commands', - old_name='created_time', - new_name='creation_time', + old_name='created_time', # 原字段名:创建时间 + new_name='creation_time', # 新字段名:创建时间(更简洁的命名) ), - migrations.RenameField( + migrations.RenameField( # 重命名'commands'模型的另一个字段 model_name='commands', - old_name='last_mod_time', - new_name='last_modify_time', + old_name='last_mod_time', # 重命名'commands'模型的另一个字段 + new_name='last_modify_time', # 重命名'commands'模型的另一个字段 ), - migrations.RenameField( + migrations.RenameField( # 重命名'commands'模型的另一个字段 model_name='emailsendlog', - old_name='created_time', - new_name='creation_time', + old_name='created_time', # 原字段名:创建时间 + new_name='creation_time', # 新字段名:创建时间(与commands模型保持命名一致) ), ]