执行Django项目的数据库迁移命令时报错:(1050, “Table ‘django_session‘ already exists“);如何破?

一、问题描述:

当我们写Django时,由于自己的操作不当,导致执行数据库迁移命令时报错,报错的种类有很多,例如:

  • 迁移文件冲突:可能你有多个迁移文件试图创建同一个表。
  • 数据库状态与迁移文件不同步:你的数据库中已经存在某些表,但迁移文件或 Django 的迁移记录(存储在 django_migrations 表中)不匹配。
  • 重复运行初始迁移:你可能多次运行了初始的迁移命令,导致 Django 试图重新创建已经存在的表。

这篇文章将用于不定期更新所遇到的错误和解决办法。

二、迁移命令如下:

python 复制代码
 python manage.py makemigrations
 python manage.py migrate

三、错误整理:

错误一:
复制代码
```python
pymysql.err.OperationalError: (1050, "Table 'django_session' already exists")
```
  • 解决办法:

  • 在数据库中找到Django 的迁移记录(存储在 django_migrations 表中),删除掉相关的表记录,我这里是删除掉sessions这条记录。如果你的users表有问题,那就删除掉所有users相关的记录(原表中的数据不会受到影响)。

  • 删除掉相关项目文件夹migrations下除了__init__.py的所有文件,例如users下:

  • 然后依次执行下面的语句

  • 如果你确定数据库中的表是正确的,但迁移记录不正确,你可以使用 --fake 选项来标记迁移为已完成。

    python 复制代码
    python manage.py makemigrations
    python manage.py migrate --fake  # --fake
  • 查看结果

错误二:

错误搜集中...

相关推荐
C嘎嘎嵌入式开发40 分钟前
(2)100天python从入门到拿捏
开发语言·python
Stanford_11061 小时前
如何利用Python进行数据分析与可视化的具体操作指南
开发语言·c++·python·微信小程序·微信公众平台·twitter·微信开放平台
white-persist3 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
Java 码农3 小时前
Centos7 maven 安装
java·python·centos·maven
倔强青铜三4 小时前
苦练Python第63天:零基础玩转TOML配置读写,tomllib模块实战
人工智能·python·面试
浔川python社4 小时前
《网络爬虫技术规范与应用指南系列》(xc—3):合规实操与场景落地
python
B站计算机毕业设计之家4 小时前
智慧交通项目:Python+YOLOv8 实时交通标志系统 深度学习实战(TT100K+PySide6 源码+文档)✅
人工智能·python·深度学习·yolo·计算机视觉·智慧交通·交通标志
IT森林里的程序猿4 小时前
基于机器学习方法的网球比赛胜负趋势预测
python·机器学习·django
正牌强哥4 小时前
Futures_ML——机器学习在期货量化交易中的应用与实践
人工智能·python·机器学习·ai·交易·akshare
倔强青铜三5 小时前
苦练Python第62天:零基础玩转CSV文件读写,csv模块实战
人工智能·python·面试