Mat*_*sho 5 python mysql django django-migrations
我正在尝试将 Django 应用程序从开发服务器部署到生产服务器,我已经使用 python 3.8.10 设置了 virtualenv,创建了 mysql 数据库,我正在 virtualenv 中运行。我没有收到任何错误python manage.py check,运行时得到“未检测到任何更改” python manage.py makemigrations,但是当我运行``python manage.py migrate``时,我得到以下信息:
要执行的操作:
应用所有迁移:admin、auth、contenttypes、sessions
运行迁移:
应用 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 上遇到了不同的错误。这给了我一个关于外键限制的错误,我在其他帖子中看到过,但不是我以前见过的错误。
我必须首先为我的应用程序执行迁移(其中教室是项目中的应用程序。):
python manage.py makemigrations classroom
python manage.py migrate
| 归档时间: |
|
| 查看次数: |
3932 次 |
| 最近记录: |