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实现批量转换文件编码(批转换编码示例)
Jan 23 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
Python元组拆包和具名元组解析实例详解
Mar 26 Python
Python框架Flask的基本数据库操作方法分析
Jul 13 Python
django模板加载静态文件的方法步骤
Mar 01 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
windows+vscode安装paddleOCR运行环境的步骤
Nov 11 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 25 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设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
VueJs组件prop验证简单介绍
2017/09/12 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
详解flask入门模板引擎
2018/07/18 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
python的pip安装以及使用教程
2018/09/18 Python
python的debug实用工具 pdb详解
2019/07/12 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
python关闭占用端口方式
2019/12/17 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
自荐信结尾
2013/10/27 职场文书
环保倡议书300字
2014/05/15 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
美容院合作经营协议书
2014/10/10 职场文书
大学生读书笔记大全
2015/07/01 职场文书
安全伴我行主题班会
2015/08/13 职场文书
2019年思想汇报
2019/06/20 职场文书