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实现通过代理服务器访问远程url的方法
Apr 29 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
python numpy实现rolling滚动案例
Jun 08 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 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实现登录注册之BootStrap表单功能
2017/09/03 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
JAVASCRIPT对象及属性
2007/02/13 Javascript
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python实现线程池的方法
2015/06/30 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python实现海螺图片的方法示例
2019/05/12 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
计算机开发个人求职信范文
2013/09/26 职场文书
《理想》教学反思
2014/02/17 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
梅花魂教学反思
2014/04/25 职场文书
聘用意向书
2014/07/29 职场文书
报案材料怎么写
2015/05/25 职场文书
师范生小学见习总结
2015/06/23 职场文书