Миграция Django: django.db.utils.OperationalError: (1824, "Failed to open the referenced table 'classroom_user'")

Я пытаюсь развернуть приложение Django с сервера разработки на рабочий сервер. Я установил virtualenv с python 3.8.10, создал базу данных mysql, запускаю в virtualenv. Я не получаю никаких ошибок от python manage.py check, получаю "no changes detected" при запуске python manage.py makemigrations, но когда я запускаю ``python manage.py migrate'', я получаю следующее:

Операции для выполнения:
Применить все миграции: admin, auth, contenttypes, sessions
. Выполнение миграций:
Применение contenttypes.0001_initial... OK
Применение admin.0001_initial...Traceback (last recent call last):...

последняя строка трассировки:

Django.db.utils.OperationalError: (1824, "Failed to open the referenced table 'classroom_user'")

("classroom" - это название приложения в проекте "codex") Я только недавно перестроил все таблицы в этой базе данных на своем сервере разработки без каких-либо проблем.
База данных на рабочем сервере пуста. models.py на месте и полностью завершен. Я пробовал и с пустой папкой migrations, и с удаленной папкой migration. В результате миграции создаются django_admin_log, django_content_types, django_migrations, но нет других таблиц.

Все другие сообщения, которые я видел об этом, были посвящены ограничениям внешних ключей, но в моем models.py все таблицы, которые имеют внешние ключи, указаны после таблиц, в которых находятся ключи.

OK, решено.
Я смог получить другую ошибку с немного более старой версией Django (3.2.6 вместо 3.2.8) и на сервере Windows вместо Linux. Это дало мне ошибку, связанную с ограничениями внешнего ключа, которую я видел в других сообщениях, но это была не та ошибка, которую я видел раньше.

Сначала мне нужно было выполнить миграцию для моего приложения (где класс - это приложение в проекте):
. python manage.py makemigrations classroom
python manage.py migrate

Вернуться на верх