django - 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 是最新的,但我在服务器上没有它们。
解决方案
与您在本地创建的任何代码一样,您需要将其添加到 git 然后提交。
./Code/manage.py makemigrations
git add ....
git commit
git push origin heroku
您应该从发布任务中删除 makemigrations 步骤,在 Heroku 上运行该步骤是没有意义的。
推荐阅读
- reactjs - 在 for 循环中获取本地数据库数据时超出了最大调用堆栈大小
- javascript - 如何在表格中显示 JSON 键 - VueJS
- javascript - 在新选项卡上打开使用 JS 创建的图像
- python - 如何为我的单元测试模拟谷歌云存储功能?(Python)
- vue.js - Vue 选择标签无法正常工作,可搜索
- r - 按月分组的数据直方图
- node.js - 猫鼬多个分组和汇总函数中的总和
- ios - 使用 react-player 在 iPhone 上制作全屏视频。解决方法?
- c - 使用 rubyinline 时如何调用同一模块中的方法?
- vue.js - 无法在 GitHub 页面上部署 Vue