关于Django中的迁移文件

django开发中,如果说之前的迁移文件不小心删掉了或者换设备了(总之就是不好去找回之前的迁移文件了),此时想要在在数据库中加一些表,那么就需要做以下几步处理了:

1.首先就是在应用模型类中添加模型类(这是必须也是简单的,略)

2.由于之前迁移过,在数据库中会有一张表(名为:django_migrations),有这么一条记录,记录着迁移的文件名和应用名称还有时间。再次生成迁移文件,执行迁移时,会提示  No migrations to apply(没有迁移申请),此时有两种解决方案

  ①.修改0001_initial.py名。强迫症表示不能接受

  ②.将django_migrations表中删除这条数据

3.删除后手动将0001_initial.py迁移文件中不需要迁移的模型类对应数据删除,否则将不能执行迁移

 

   删除后即可进行迁移。

   迁移还有一种情况,就是你把models中的定义的某些模型类删除了,迁移时会提示是否删除数据库中的该模型类对应的表,按需输入yes或no即可,我这里还需要这个表,所以输入no回车:

再说说涉及到model更改的情况,创建迁移文件时可能会收到 No changes detected(未检测到更改) 的提示,此时需要创建一个空的迁移文件,再生成迁移文件

python manage.py makemigrations --empty ‘应用名'

# 执行完上面再生成迁移文件
python manage.py makemigrations
原文地址:https://www.cnblogs.com/zzmx0/p/12835176.html