Django-migrate报错问题解决方案


Posted in Python onApril 21, 2020

python3 manage.py makemigrations # 生成数据库迁移文件
python3 manage.py migrate # 迁移数据库

简简单单两条命令就完成了django的数据库迁移

但是今天一天的时间都耽误在这了,一点都不夸张的那种,,早上去公司讨论需求之后,研究了一下需要更改一下数据库,在执行makemigrations的时候OK没有问题,但是migrate就报错了

1.报错: XX表已经存在,django.db.utils.OperationalError: (1050, "Table XX already exists

我:删表,但是报错,Cannot delete or update a parent row: a foreign key constraint fails 跟YY表存在外键关系,无法删除,

百度了一番之后:1、SET foreign_key_checks = 0; // 先设置外键约束检查关闭

2、drop table XX; // 删除数据,表或者视图

3、SET foreign_key_checks = 1; // 开启外键约束检查,以保持表结构完整性 

2.表删了之后重新执行migrate,又报错别的表存在,如此一直循环往复,我都怀疑这是人家写的一个while True,

我:找到了第二种解决方案:python manage.py migrate myapp --fake # 切记把myapp换成你要执行的APP名称

这条命令可以顺利执行,没有报错,但是又找不到对应生成的表在哪里,顶如还是说不能成功

3.将之前执行makemigrations生成的migrations文件夹删除,重新来过,OK,还是一样的毛病,

4.重新创建了database之后,重新来过,只生成了django自带的那几张表,然而项目里大多的数据存储都是依靠我在每一个app里创建的table里呀

5.将每个APP下的migrations都删掉,database也重新来过,好嘛,连最基本的数据库迁移文件夹都不能生成了,一瞬间有种悔不当初的感觉,但是又能怎么样呢,就是需要调整数据库呀

6.这个时候重头开始来过,千万不要慌,检查settings里是否把每一个APP都注册到,项目同名目录下的__init__.py里是否包含了

import pymysql

pymysql.install_as_MySQLdb()

7.没有问题之后这样去执行数据库迁移的命令 

python3 manage.py migrate # 生成django自带的数据库
python3 manage.py makemigrations appname # 将appname换成你要迁移的那个app的名称
python3 manage.py migrate appname # 同理,换名

至此,一个小小的问题,真的就花了我一天的时间,好在终于解决了,

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
详解Django通用视图中的函数包装
Jul 21 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
python利用lxml读写xml格式的文件
Aug 10 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
Python装饰器用法实例总结
May 26 Python
django-rest-swagger的优化使用方法
Aug 29 Python
python3实现高效的端口扫描
Aug 31 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
django rest framework 自定义返回方式
Jul 12 Python
python类共享变量操作
Sep 03 Python
浅谈Python响应式类库RxPy
Jun 14 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 #Python
jupyter 导入csv文件方式
Apr 21 #Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 #Python
Python多线程实现支付模拟请求过程解析
Apr 21 #Python
安装多个版本的TensorFlow的方法步骤
Apr 21 #Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 #Python
TensorFLow 数学运算的示例代码
Apr 21 #Python
You might like
十天学会php之第一天
2006/10/09 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python字符串匹配算法KMP实例
2015/07/18 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
学python爬虫能做什么
2020/07/29 Python
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
前台文员个人求职信范文
2014/01/05 职场文书
教育学习自我评价
2014/02/03 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
公积金接收函格式
2015/01/30 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
单位工资证明范本
2015/06/12 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL