我在3个月前部署了一个Django应用程序,我能够轻松地在heroku bash上迁移更改。现在我正在尝试这个:
heroku run python manage.py migrate
也试过这个:
heroku run python manage.py migrate --no-input
我试着像这样访问heroku bash:
heroku run bash
然后运行:
~ $ python manage.py migrate
所有这些命令似乎都可以工作:https://i.stack.imgur.com/JWW6S.png
但是他们没有。当我再次尝试迁移时,我认为它会显示典型的No migrations to apply.。但事实并非如此
我应该做什么来迁移更改?
如果您正在使用SQlite,那么Heroku上的迁移更改将立即应用并删除。你必须使用Heroku Postgres插件(检查你的项目概述,如果它已经安装),并将其添加到你的settings.py
if "DATABASE_URL" in os.environ:
import dj_database_url
DATABASES = {"default": dj_database_url.config()}
您还可以将它添加到您的Procfile中,以便在部署时进行迁移
release: python manage.py migrate