当前位置: 首页 > news >正文

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

一、问题描述:

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

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

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

二、迁移命令如下:

 python manage.py makemigrationspython 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 manage.py makemigrations
    python manage.py migrate --fake  # --fake
    
  • 查看结果
  • 在这里插入图片描述
错误二:

错误搜集中…

http://www.lryc.cn/news/468581.html

相关文章:

  • 问丫:创新社交平台的技术魅力与发展潜力
  • iOS Swift逆向——被编译优化后的函数参数调用约定修复
  • self-supervised learning(BERT和GPT)
  • 基于RBF神经网络的双参数自适应光储VSG构网逆变器MATLAB仿真模型
  • Openpyxl--学习记录
  • 高边坡稳定安全监测预警系统解决方案
  • 计算机毕业设计 | vue+springboot借书管理 图书馆管理系统(附源码)
  • vue3 腾讯地图 InfoWindow 弹框
  • 【Linux】解锁进程间通信奥秘,高效资源共享的实战技巧
  • O1 Nano:OpenAI O1模型系列的简化开源版本
  • 浅谈人工智能之Llama3微调后使用cmmlu评估
  • 为什么需要MQ?MQ具有哪些作用?你用过哪些MQ产品?请结合过往的项目经验谈谈具体是怎么用的?
  • Flutter项目打包ios, Xcode 发布报错 Module‘flutter barcode_scanner‘not found
  • RWSENodeEncoder, KER_DIM_PE(lrgb文件中的encoders文件中的kernel.py)
  • 技术文档:基于微信朋友圈的自动点赞工具开发
  • kubernetes_pods资源清单及常用命令
  • 科目二侧方位停车全流程
  • 2024源鲁杯CTF网络安全技能大赛题解-Round2
  • 10.24学习
  • 社交媒体与客户服务:新时代的沟通桥梁
  • 设置虚拟机与windows间的共享文件夹
  • 微信小程序性能优化 ==== 合理使用 setData 纯数据字段
  • 【加密系统】华企盾DSC服务台提示:请升级服务器,否则可能导致客户端退回到旧服务器的版本
  • 直连南非,服务全球,司库直联再进一步
  • 【spring】从spring是如何避免并发下获取不完整的bean引发的思考 什么是双重检查锁 什么是java内存模型
  • 【计算机网络一】网络学习前置知识
  • nuScenes数据集使用的相机的外参和内参
  • 数据结构与算法:贪心算法与应用场景
  • 音频编解码器音频文件格式
  • FreeSWITCH JSON API