django迁移文件丢失,修改模型类
1.不需要原有的数据库数据
- 删除数据库所有的表
- 删除项目的migration模块中的所有 文件,除了__init__.py 文件
-
执行命令
1 python manage.py makemigrations 应用名 2 python manage.py migrate 应用名
2. 不删除现有的数据,生成 新的migration 文件,迁移模型类
- 先将应用模型类恢复到没有修改之前的状态
- 查看迁移情况
# 查看当前应用已经执行生效的迁移文件 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 应用名
本文作者:一枚码农
本文链接:https://www.cnblogs.com/yimeimanong/p/15779872.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步