Django CMS ошибка cms_urlconfrevision при развертывании - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь развернуть приложение CMS django в PythonAnywhere или Heroku, но продолжаю получать эту ошибку в Heroku:

ProgrammingError at /
relation "cms_urlconfrevision" does not exist
LINE 1: ...sion"."id", "cms_urlconfrevision"."revision" FROM "cms_urlco...

и эту ошибку в PythonAnywhere:

OperationalError at /
no such table: cms_urlconfrevision

Приложение прекрасно работает на localhost.

Я понимаю, что отсутствует таблица базы данных, но я не знаю, как это исправить.Я попытался удалить все файлы миграции и .pyc файлов и снова мигрировал, я удалил базу данных, я попробовал миграцию с --fake.Кажется, ничего не работает.

Я использую

  • django-cms == 3.6.0
  • Django == 2.1.8

Ответы [ 2 ]

3 голосов
/ 24 мая 2019

Я понимаю, что отсутствует таблица базы данных, но я не знаю, как это исправить. Я попытался удалить все файлы миграции и .pyc файлы и снова мигрировал, я удалил базу данных, я попытался выполнить миграцию с --fake. Кажется, ничего не работает.

Файлы миграции просто определяют, какие миграции существуют. Они не изменяют вашу базу данных самостоятельно. Здесь есть два шага:

  1. Создание миграций с помощью makemigrations. Это должно быть сделано только на вашей машине разработки. К моменту развертывания вашего кода у вас не должно быть никаких изменений модели, которые могли бы привести к созданию новых миграций.

  2. Применение миграций к вашей базе данных с помощью migrate. Это должно быть сделано в процессе разработки (для обновления вашей локальной базы данных), а также в производстве (для обновления вашей производственной базы данных).

    На Heroku вы выполняете миграцию с

    heroku run python manage.py migrate
    

    Я думаю, что этот шаг вам не хватает.

0 голосов
/ 22 июня 2019

Здравствуйте, может быть, вы нашли решение, но если кто-то сталкивался с этой проблемой, это связано с настройками базы данных.

В project_name / site_name / settings.py и разделе настроек базы данных

Изменить

NAME: 'project.db' 

на

NAME:'project_name/project.bd'
...