python - 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 天,所以我将不胜感激。
PS我使用heroku postgresql hobby-dev。
聚苯乙烯
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
base settings.py https://pastebin.com/DLh3KrK7
我的生产配置(settings.py
)
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()
}
解决方案
重新检查您的数据库配置。错误跟踪显示它使用 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
。
推荐阅读
- python-3.x - 有没有办法将奇数长度的十六进制字符串转换为字节数组,或者 python 3.8 中是否存在奇数长度的字节数组
- php - 在 WooCommerce 中为每 10 个订单设置自定义运费
- node.js - 节点 express console.log(req.body) 在 post 请求中为空
- python - 我如何获得这个圆圈上红色像素和白色块像素的坐标?
- java - 为什么我的 Thymeleaf 只显示列表的最后一行
- python - 将时间戳转换为日期时间错误的 AM/PM
- apache-flink - k8s上的flink缺少状态值-在jobmanager / taskmanager崩溃时恢复作业
- oracle - 在 pyspark 的 oracle 查询中使用参数
- javascript - 从 React 中的 API 调用收到状态 404 后,如何重定向到错误页面?
- amazon-web-services - 如何在云端请求中使用 boto3 python 3.8 提取不记名令牌并在另一个查询中使用它