|
|
|
|
@ -1,22 +1,44 @@
|
|
|
|
|
# Generated by Django 4.2.5 on 2023-09-06 13:19
|
|
|
|
|
# 说明:该文件为 Django 自动生成的**增量迁移文件**,用于更新数据库表结构
|
|
|
|
|
# 生成条件:修改 models.py 中 OwnTrackLog 模型的 Meta 配置(排序字段、最新记录字段)和字段名(created_time → creation_time)后,执行 makemigrations 命令生成
|
|
|
|
|
# 兼容版本:Django 4.2.5(与初始迁移文件 0001_initial 版本需匹配,避免迁移冲突)
|
|
|
|
|
# 核心作用:1. 重命名字段 created_time 为 creation_time;2. 更新模型元数据的排序和最新记录查询字段
|
|
|
|
|
|
|
|
|
|
# 导入 Django 迁移核心模块(仅需 migrations,无需额外字段类,因无新增字段)
|
|
|
|
|
from django.db import migrations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
|
"""
|
|
|
|
|
数据迁移类:定义数据库结构的增量变更操作
|
|
|
|
|
本次迁移依赖初始迁移文件,仅修改字段名称和模型元数据,不改变表结构核心逻辑
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# 依赖迁移列表:当前迁移必须在 'owntracks' 应用的 0001_initial 迁移执行后才能运行
|
|
|
|
|
# 格式:['应用名称.迁移文件前缀'],确保迁移顺序正确,避免字段不存在导致的报错
|
|
|
|
|
dependencies = [
|
|
|
|
|
('owntracks', '0001_initial'),
|
|
|
|
|
('owntracks', '0001_initial'), # 依赖初始迁移(创建 OwnTrackLog 表的迁移)
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# 迁移操作列表:包含两个核心变更操作,按顺序执行
|
|
|
|
|
operations = [
|
|
|
|
|
# 操作1:修改模型的元数据配置(对应 models.py 中 OwnTrackLog 类的 Meta 内部类)
|
|
|
|
|
migrations.AlterModelOptions(
|
|
|
|
|
name='owntracklog',
|
|
|
|
|
options={'get_latest_by': 'creation_time', 'ordering': ['creation_time'], 'verbose_name': 'OwnTrackLogs', 'verbose_name_plural': 'OwnTrackLogs'},
|
|
|
|
|
name='owntracklog', # 目标模型名称(必须与 models.py 中类名一致)
|
|
|
|
|
options={
|
|
|
|
|
'get_latest_by': 'creation_time', # 更新「查询最新记录」的字段:从 created_time 改为新字段 creation_time
|
|
|
|
|
# 影响 Model.objects.latest() 方法的默认查询逻辑
|
|
|
|
|
'ordering': ['creation_time'], # 更新默认排序字段:从 created_time 改为 creation_time(升序)
|
|
|
|
|
'verbose_name': 'OwnTrackLogs', # 单数显示名称(未修改,与初始迁移一致)
|
|
|
|
|
'verbose_name_plural': 'OwnTrackLogs', # 复数显示名称(未修改)
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
# 操作2:重命名模型的字段(数据库表中对应列名也会同步修改)
|
|
|
|
|
migrations.RenameField(
|
|
|
|
|
model_name='owntracklog',
|
|
|
|
|
old_name='created_time',
|
|
|
|
|
new_name='creation_time',
|
|
|
|
|
model_name='owntracklog', # 目标模型名称
|
|
|
|
|
old_name='created_time', # 旧字段名(原模型中定义的字段名)
|
|
|
|
|
new_name='creation_time', # 新字段名(修改后的字段名)
|
|
|
|
|
# 说明:该操作会同步更新数据库表中对应的列名(created_time → creation_time),且保留原有字段数据
|
|
|
|
|
# 无需手动处理数据迁移,Django 会自动完成字段名映射和数据保留
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
]
|