You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署至Heroku遇ProgrammingError:relation does not exist问题求助

解决Heroku上Django应用表不存在的迁移问题

1. 确认迁移文件已提交到Heroku

  • 检查本地tables/migrations/目录,确保有新生成的迁移文件(如0001_initial.py)
  • 将这些文件提交并推送到Heroku:
    git add tables/migrations/
    git commit -m "提交tables应用的新迁移文件"
    git push heroku main
    

2. 清除Heroku数据库中的旧迁移记录

Heroku的django_migrations表可能已经记录了tables应用的迁移状态,但实际表未创建,需要手动清除:

  • 连接到Heroku数据库:
    heroku pg:psql
    
  • 执行SQL命令删除tables应用的迁移记录:
    DELETE FROM django_migrations WHERE app = 'tables';
    
  • 退出数据库:
    \q
    
  • 重新执行迁移:
    heroku run python manage.py migrate
    

3. 验证数据库配置

  • 确认应用使用的是Heroku的PostgreSQL数据库,查看环境变量:
    heroku config:get DATABASE_URL
    
    确保该变量指向Heroku提供的PostgreSQL地址,而非本地数据库。

4. 重置数据库(终极方案,会清空所有数据)

如果以上步骤都无效,可重置数据库后重新初始化:

heroku pg:reset DATABASE_URL
heroku run python manage.py migrate

内容的提问来源于stack exchange,提问作者LadisPavel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:30:49