【发布时间】:2021-12-07 17:04:47
【问题描述】:
我正在尝试将 Django 应用程序从开发服务器部署到生产服务器
我已经用 python 3.8.10 设置了一个 virtualenv,创建了 mysql 数据库,我在 virtualenv 中运行。我没有收到来自python manage.py check 的错误,运行python manage.py makemigrations 时得到“未检测到更改”,但是当我运行```python manage.py migrate`` 时,我得到以下信息:
要执行的操作:
应用所有迁移:管理员、身份验证、内容类型、会话
运行迁移:
正在应用 contenttypes.0001_initial... 确定
正在应用 admin.0001_initial...Traceback(最近一次调用最后一次):...
回溯的最后一行:
Django.db.utils.OperationalError: (1824, "Failed to open the referenced table 'classroom_user'")
(“classroom”是项目“codex”中应用程序的名称)我最近在我的开发服务器上重建了这个数据库中的所有表,没有任何问题。
生产服务器上的数据库为空。 models.py 已就位且完整。我已经尝试使用空的迁移文件夹和删除的迁移文件夹。迁移确实创建了 django_admin_log、django_content_types、django_migrations,但没有创建其他表。
我在这方面看到的所有其他帖子都是关于外键约束的,但是在我的 models.py 中,所有具有外键的表都在键所在的表之后指定。
【问题讨论】:
标签: python mysql django django-migrations