#wjl
from django.db import migrations, models


class Migration(migrations.Migration):
    # wjl
    """
    Django 迁移类，定义了数据库模式的变更。
    此迁移是应用的初始迁移（initial=True），用于创建两个新的数据模型表：
    - commands：存储可执行命令的信息
    - EmailSendLog：记录邮件发送的日志信息
    """

    #wjl # 标记此迁移为“初始迁移”，表示这是应用的第一个迁移文件
    initial = True

    #wjl# 定义此迁移所依赖的其他迁移
    #wjl # 当前为空列表，表示该迁移不依赖于任何其他迁移（即它是最初的）
    dependencies = [
    ]

    #wjl# 定义此迁移要执行的数据库操作列表
    operations = [
        # 第一个操作：创建名为 'commands' 的数据模型表
        migrations.CreateModel(
            name='commands',  # 数据库表对应的模型名称
            fields=[  # 定义该模型包含的字段（即数据库表的列）
                #wjl# 主键 ID 字段：自增的 BigAutoField
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                #wjl# 命令标题字段：最大长度 300 的字符串
                ('title', models.CharField(max_length=300, verbose_name='命令标题')),
                #wjl# 实际执行的命令字段：最大长度 2000 的字符串
                ('command', models.CharField(max_length=2000, verbose_name='命令')),
                #wjl# 命令描述字段：最大长度 300 的字符串
                ('describe', models.CharField(max_length=300, verbose_name='命令描述')),
                #wjl# 创建时间字段：自动在对象创建时设置当前时间
                ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
                #wjl# 最后修改时间字段：每次对象保存时自动更新为当前时间
                ('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
            ],
            options={  #wjl# 模型的元选项配置
                'verbose_name': '命令',  #wjl# 单数形式的可读名称
                'verbose_name_plural': '命令',  #wjl# 复数形式的可读名称（中文通常与单数相同）
            },
        ),

        #wjl# 第二个操作：创建名为 'EmailSendLog' 的数据模型表
        migrations.CreateModel(
            name='EmailSendLog',  #wjl# 数据库表对应的模型名称
            fields=[  #wjl# 定义该模型包含的字段（即数据库表的列）
                #wjl# 主键 ID 字段：自增的 BigAutoField
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                #wjl# 收件人邮箱字段：最大长度 300 的字符串
                ('emailto', models.CharField(max_length=300, verbose_name='收件人')),
                #wjl# 邮件标题字段：最大长度 2000 的字符串
                ('title', models.CharField(max_length=2000, verbose_name='邮件标题')),
                #wjl# 邮件内容字段：长文本字段
                ('content', models.TextField(verbose_name='邮件内容')),
                #wjl# 发送结果字段：布尔值，默认为 False（表示失败）
                ('send_result', models.BooleanField(default=False, verbose_name='结果')),
                #wjl# 创建时间字段：自动在记录创建时设置当前时间
                ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
            ],
            options={  # 模型的元选项配置
                'verbose_name': '邮件发送log',  #wjl# 单数形式的可读名称
                'verbose_name_plural': '邮件发送log',  #wjl# 复数形式的可读名称
                'ordering': ['-created_time'],  #wjl# 默认排序规则：按创建时间倒序排列（最新的在前）
            },
        ),
    ]