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 应用名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值