Django-migrate报错问题解决方案

 更新时间:2020年04月21日 15:57:24   作者:小陆同学  
这篇文章主要介绍了Django-migrate报错问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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使用描述符实现属性类型检查的案例解析

    这篇文章主要介绍了Python使用描述符实现属性类型检查,实例属性就是在一个类中将另一个类的实例作为该类的一个数属性,本文通过代码演示给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • python polars数据科学库对比Pandas优势分析

    python polars数据科学库对比Pandas优势分析

    这篇文章主要为大家介绍了python polars数据科学库对比Pandas优势分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 基于Python编写一个中秋节嫦娥投食小游戏

    基于Python编写一个中秋节嫦娥投食小游戏

    今天给大家带来的是给玉兔投喂月饼的小游戏。八月十五中秋夜晚,让我们对着月亮许愿:希望我们在意和在意我们的人,诸邪避退、百事无忌、平安喜乐、万事胜意。提前祝大家中秋节快乐
    2022-09-09
  • 详解Python的Flask框架中的signals信号机制

    详解Python的Flask框架中的signals信号机制

    这里将为大家来详解Python的Flask框架中的signals信号机制,包括讲述信号的用途,并给出创建信号、订阅信号、发送信号的方法,需要的朋友可以参考下
    2016-06-06
  • Python3的正则表达式详解

    Python3的正则表达式详解

    这篇文章主要为大家详细介绍了Python3正则表达式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python是什么 Python的用处

    Python是什么 Python的用处

    在本篇文章里小编给大家分享的是关于python的作用和用途知识点,有兴趣的朋友们可以参考下。
    2020-05-05
  • Python字符串格式化%s%d%f详解

    Python字符串格式化%s%d%f详解

    这篇文章主要介绍了Python字符串格式化%s%d%f详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python3 虚拟开发环境搭建过程(图文详解)

    Python3 虚拟开发环境搭建过程(图文详解)

    这篇文章主要介绍了Python3 虚拟开发环境搭建过程,本文通过图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Django自动注册tasks及使用方式

    Django自动注册tasks及使用方式

    这篇文章主要为大家介绍了Django自动注册tasks及使用方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 使用python创建生成动态链接库dll的方法

    使用python创建生成动态链接库dll的方法

    这篇文章主要介绍了使用python创建生成动态链接库dll的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论