我已经开发了一个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是最新的,但服务器上没有这些迁移。
答案 0 :(得分:0)
与在本地创建的任何代码一样,您需要将其添加到git中然后提交。
./Code/manage.py makemigrations
git add ....
git commit
git push origin heroku
您应该从发布任务中删除makemigrations步骤,在Heroku上运行该步骤毫无意义。