python - Django 迁移 : django. db.utils.OperationalError : (1824, "Failed to open the referenced table ' classroom_user'")

标签 python mysql django django-migrations

我正在尝试将 Django 应用程序从开发服务器部署到生产服务器 我已经用 python 3.8.10 设置了一个 virtualenv,创建了 mysql 数据库,我在 virtualenv 中运行。我从 python manage.py check 中没有收到任何错误,在运行 python manage.py makemigrations 时收到“未检测到任何更改”,但是当我运行 ```python manage.py迁移``我得到以下信息:

要执行的操作:
应用所有迁移:admin、auth、contenttypes、session
运行迁移:
正在应用 contenttypes.0001_initial... OK
应用 admin.0001_initial...Traceback(最后一次调用):...

回溯的最后一行:

Django.db.utils.OperationalError: (1824, “无法打开引用的表‘classroom_user’”)

(“classroom”是项目“codex”中应用程序的名称)我最近刚刚在我的开发服务器上重建了这个数据库中的所有表,没有任何问题。
生产服务器上的数据库是空的。 models.py 已到位且完整。我已经尝试过使用一个空的迁移文件夹和删除的迁移文件夹。迁移会创建 django_admin_log、django_content_types、django_migrations,但不会创建其他表。

我在这方面看到的所有其他帖子都是关于外键约束的,但是在我的 models.py 中,所有具有外键的表都在键所在的表之后指定。

最佳答案

好的,解决了。
我能够使用稍旧版本的 Django(3.2.6 而不是 3.2.8)和 Windows 服务器而不是 Linux 得到不同的错误。这给了我一个关于外键限制的错误,我在其他帖子中看到过,但这不是我以前见过的错误。

我必须先为我的应用程序执行迁移(其中 classroom 是项目中的应用程序。):
python manage.py makemigrations 教室
python manage.py 迁移

关于python - Django 迁移 : django. db.utils.OperationalError : (1824, "Failed to open the referenced table ' classroom_user'"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69653388/

相关文章:

python - 是否可以手动重启 celery 任务

python 细节 : Array value must start with "{" or dimension information

C#:使用 Python.Runtime 未找到

php - 有没有简单的方法来重复 php mysql 查询?

python - 与常规 Python 列表相比,NumPy 有哪些优势?

mysql - MySQL统计某列模式出现的次数

php - 如何用php找到mysql中某个字段的真实表名?

django - 如何在Django序列化程序响应中包含额外的数据?

python - 使用 Python 的 MRQ 库执行重复任务

python - Pandas 合并 101