Python 现代开发学习笔记

(二十四)模型、迁移与数据库状态核对

启动前可以先检查配置与代码,再核对模型是否漏了迁移:

# 检查项目配置、应用与模型声明。
uv run python manage.py check
# 只检查是否存在未生成的模型变化,不创建新的迁移文件。
uv run python manage.py makemigrations --check --dry-run
# 查看数据库当前已经应用的步骤。
uv run python manage.py showmigrations

模型变了而迁移没写,后面的环境就无法重建相同结构;迁移文件有了但尚未应用,实际列也不会自动出现。用模型、迁移记录与当前数据库三个位置逐项核对,最后用真实记录验证新字段值。

迁移前的历史模型由迁移状态取得,不直接拿带新字段的当前模型去读取旧结构。配套迁移演示已经按 0001、写旧记录、0002 的顺序实际执行。

分别比较当前模型、迁移文件与 django_migrations,再查看实际表列和原书记录,避免只看到命令成功就判断数据变化完成

笔记正文与全部题解 · Ctrl / ⌘ K