Команда Django migrate не создает ни одной таблицы на Heroku
Показывает, что таблицы успешно созданы, когда я делаю heroku run -a "app-name" python manage.py migrate
Running python manage.py migrate on ⬢ app_name... up, run.0000 (Free)
System check identified some issues:
...
Operations to perform:
Apply all migrations: admin, auth, blog, contenttypes, home, sessions, taggit, wagtailadmin, wagtailcore, wagtaildocs, wagtailembeds, wagtailforms, wagtailimages, wagtailredirects, wagtailsearch, wagtailusers
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
...
Но когда я создаю суперпользователя, он говорит мне, что таблицы не существует. Есть какие-нибудь предложения? Я торчу в ней уже 3 дня, поэтому буду благодарен за любую помощь.
P.S. Я использую heroku postgresql hobby-dev.
P.P.S.
File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/app/.heroku/python/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/sqlite3/base.py", line 423, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user
Моя производственная конфигурация
from .base import *
import dj_database_url
import environ
DEBUG = False
try:
from .local import *
except ImportError:
pass
environ.Env.read_env()
env = environ.Env()
DATABASES = {
'default': env.db()
}
пожалуйста, выполните эту команду
python manage.py syncdb
python manage.py migrate
python manage.py createsuperuser
убедитесь, что в установленном вами приложении
'django.contrib.auth'
и скажите мне, если вы все еще получаете ту же ошибку, а затем добавьте ваш settings.py
Перепроверьте конфигурацию базы данных. Трассировка ошибки показывает, что в качестве бэкенда базы данных используется sqlite, а не Postgres, как ожидалось:
File "/app/.heroku/python/lib/python3.9/site-packages/django/db/backends/sqlite3/base.py", line 423, in execute
Затем происходит сбой, потому что база данных sqlite хранится в файловой системе, а файловые системы на Heroku не являются постоянными при выполнении команд - поэтому база данных, которую вы создали на шаге migrate
, больше не существует, когда вы выполните createsuperuser
.