# Generated by Django 4.2.5 on 2023-09-06 13:13

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone   # 用于引用 AUTH_USER_MODEL

#ssj
class Migration(migrations.Migration):

    dependencies = [  # 当前迁移所依赖的其他迁移，必须按顺序执行完这些依赖迁移后，才能执行本迁移
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),   # 依赖于 blog 应用的第 5 个迁移（可能修改了 Article 或 Category 的选项）
        ('blog', '0005_alter_article_options_alter_category_options_and_more'),  # 依赖于 blog 应用的第 5 个迁移（可能修改了 Article 或 Category 的选项）
        ('comments', '0002_alter_comment_is_enable'),   # 依赖于 comments 应用的第 2 个迁移（之前已修改过 is_enable 字段的默认值）
    ]

#ssj
    operations = [  # 定义本次迁移要执行的所有数据库操作
        # 1. 修改模型的元选项（Meta options）
        migrations.AlterModelOptions(
            name='comment',   # 作用于 Comment 模型
            options={'get_latest_by': 'id', 'ordering': ['-id'], 'verbose_name': 'comment', 'verbose_name_plural': 'comment'},
            # 单数名称改为英文小写  # 复数名称也改为英文  # 排序方式不变：按 id 降序（最新在前） # 获取最新记录仍按 id
        ),
        # 2. 删除旧的创建时间字段（created_time）
        migrations.RemoveField(
            model_name='comment',
            name='created_time',
        ),
        # 3. 删除旧的最后修改时间字段（last_mod_time）
        migrations.RemoveField(
            model_name='comment',
            name='last_mod_time',
        ),
        # 4. 添加新的创建时间字段（creation_time），替代 created_time
        migrations.AddField(
            model_name='comment',
            name='creation_time',
            field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'),
        ),
        # 5. 添加新的最后修改时间字段（last_modify_time），替代 last_mod_time
        migrations.AddField(
            model_name='comment',
            name='last_modify_time',
            field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='last modify time'),
        ),
        # 6. 修改 article 外键字段：仅更新 verbose_name 为英文
        migrations.AlterField(
            model_name='comment',
            name='article',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.article', verbose_name='article'),
        ),
        # 7. 修改 author 外键字段：仅更新 verbose_name 为英文
        migrations.AlterField(
            model_name='comment',
            name='author',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='author'),
        ),
        # 8. 修改 is_enable 字段：更新 verbose_name 为英文，并保持 default=False
        migrations.AlterField(
            model_name='comment',
            name='is_enable',
            field=models.BooleanField(default=False, verbose_name='enable'),
        ),
        # 9. 修改 parent_comment 字段：更新 verbose_name 为英文
        migrations.AlterField(
            model_name='comment',
            name='parent_comment',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.comment', verbose_name='parent comment'),
        ),
    ]
