首页 > 解决方案 > Heroku push 不上传迁移

问题描述

我开发了一个 Django 项目并希望将其部署在 Heroku 服务器上。问题是我的迁移没有在“heroku push”命令之后上传。

我跑之后

python ./Code/manage.py makemigrations
python ./Code/manage.py migrate

我在本地看到我的迁移文件和数据库。但是,在那之后,当我将它们推送到 Heroku 时,它们似乎并不存在。我在 Heroku 上的网站给出了一些表不可用的错误,当我在服务器上运行 bash 以查看我的文件时,没有任何迁移文件,并且我的应用程序中的迁移文件夹只有init .py 文件。我什至尝试在发布阶段进行迁移和迁移。这是Procfile:

release: bash ./release_tasks.sh
web: gunicorn --pythonpath Code Code.wsgi --log-file -

这是release_tasks.sh:

python ./Code/manage.py makemigrations
python ./Code/manage.py migrate

同样,当我推送到 Heroku 时,一切正常,我看到了正确的迁移消息,这表明迁移已成功执行。但是,服务器上没有迁移文件,我的网站给出了同样的错误。

这是我不明白的: screenshot 我在本地进行了迁移,Git 是最新的,但我在服务器上没有它们。

标签: djangoheroku

解决方案


与您在本地创建的任何代码一样,您需要将其添加到 git 然后提交。

./Code/manage.py makemigrations
git add ....
git commit
git push origin heroku

您应该从发布任务中删除 makemigrations 步骤,在 Heroku 上运行该步骤是没有意义的。


推荐阅读