django迁移文件丢失,修改模型类

1.不有的数据库数据

  1. 删除数据库所有的表
  2. 删除项目的migration模块中的所有 文件,除了__init__.py 文件
  3. 执行命令

1 python manage.py makemigrations 应用名
2 python manage.py migrate 应用名

2. 不删除现有的数据,生成 新的migration 文件,迁移模型类

  1. 先将应用模型类恢复到没有修改之前的状态
  2. 查看迁移情况
# 查看当前应用已经执行生效的迁移文件
python manage.py showmigrations 应用名

执行结果:
应用名
 [X] 0001_initial
 [x] 0002_add_model

     3. 重置应用迁移文件

    • 执行
1 #
2 python manage.py migrate --fake 应用名 zero
3 
4 # 查看迁移
5 python manage.py showmigrations 应用名
6 
7 执行结果
8 [] 0001_initial
9 [] 0002_add_model
*前边的X没有了
    • 删除app migrations下除init.py之外的所有文件
    • 删除数据库migrations表中该应用的所有迁移记录
    • 执行
python manage.py makemigrations 应用名

会再次生成0001_initial.py 之类的文件
    • 执行(这一步很关键)
1 python manage.py migrate 应用名 --fake-initial
2 
3 '''
4 --fake-inital 会在数据库migrations表中记录当前这个app 执行到 0001_initial.py ,但不会去执行迁移文件。
5 '''

     4. 修改应用模型类,并执行迁移命令

1 python manage.py makemigrations 应用名
2 python manage.py migrate 应用名

 

     

 

posted @ 2022-01-08 22:36  一枚码农  阅读(400)  评论(0编辑  收藏  举报