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 в этом рабочем процессе. Вы можете увидеть примеры этого здесь .

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