Django.db.utils.OperationalError: near "CASCADE": синтаксическая ошибка при оформлении pull request на Github
Я пытаюсь развернуть сайт django с помощью Heroku.
Когда я запускаю python3 manage.py runserver, все работает нормально. Но когда я отправляю его на github и делаю pull request, у меня есть действие, которое тестирует мой код, и я сталкиваюсь с этой ошибкой
Эта ошибка появилась после того, как я создал Procfile и добавил следующие изменения в свой seetings.py:
import django_on_heroku
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
django_on_heroku.settings(locals())
Смотрите полный файл settings.py ниже:
и Procfile ниже:
release: python3 manage.py makemigrations
release: python3 manage.py migrate
web: gunicorn website.wsgi
Если у вас есть идея, как решить эту проблему, пожалуйста, дайте мне знать. Спасибо.
SQLite не поддерживает этот синтаксис SQL из пакета django_on_heroku, поэтому вы видите ошибку.
Вы можете посмотреть подробности о DROP TABLE для SQLite здесь, но процитируем эту страницу:
SQLite не поддерживает ключевые слова CASCADE и RESTRICT, которые включены в стандарт SQL и поддерживаются некоторыми другими RDBMS (например, PostgreSQL).
Вполне вероятно, что на вашем сервере работает mysql или postgres, но ваши тесты используют SQLite.
Вы упомянули, что проблема возникает в рабочем процессе на github, поэтому я бы поискал возможность использования mysql или postgres в этом рабочем процессе. Вы можете увидеть примеры этого здесь .