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读取环境变量的方法和自定义类分享
Nov 22 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
python多进程读图提取特征存npy
May 21 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
Python拼接字符串的7种方式详解
Mar 19 Python
python获取百度热榜链接的实例方法
Aug 25 Python
Python3 用什么IDE开发工具比较好
Nov 28 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 Python
python绘制汉诺塔
Mar 01 Python
python cv2图像质量压缩的算法示例
Jun 04 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 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
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
表单提交验证类
2006/07/14 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
jquery 使用简明教程
2014/03/05 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
js实现微博发布小功能
2017/01/12 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
JS中的作用域链
2017/03/01 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
详细解析Python当中的数据类型和变量
2015/04/25 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
python实现朴素贝叶斯分类器
2018/03/28 Python
python常量折叠基础知识点讲解
2021/02/28 Python
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
委托书样本
2014/04/02 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
考勤制度通知
2015/04/25 职场文书
后天观后感
2015/06/08 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电