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爬取NUS-WIDE数据库图片
Oct 05 Python
Python程序中设置HTTP代理
Nov 06 Python
python解析基于xml格式的日志文件
Feb 25 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
Jun 28 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
python操作cfg配置文件方式
Dec 22 Python
python使用rsa非对称加密过程解析
Dec 28 Python
python实现ip地址的包含关系判断
Feb 07 Python
Django之全局使用request.user.username的实例详解
May 14 Python
在python image 中实现安装中文字体
May 16 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
Python如何使用logging为Flask增加logid
Mar 30 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
discuz安全提问算法
2007/06/06 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
如何基于python操作json文件获取内容
2019/12/24 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
一套.net面试题及答案
2016/11/02 面试题
车间班组长岗位职责
2013/11/13 职场文书
商务助理求职信范文
2014/04/20 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
西湖英语导游词
2015/02/06 职场文书
小学少先队活动总结
2015/05/08 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
python之基数排序的实现
2021/07/26 Python
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
《废话连篇——致新手》——chinapizza
2022/04/05 无线电
python神经网络 使用Keras构建RNN训练
2022/05/04 Python