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

在Heroku仪表盘销毁数据库后,如何重新提交Django应用的数据库至Heroku?

彻底重置Heroku Django数据库的分步指南

我完全懂你现在的糟心处境——没做迁移就把代码推去生产环境,直接把Heroku数据库搞崩了,不过别慌,按下面的步骤一步步来,就能彻底重置并重新配置好:

1. 通过Heroku仪表盘销毁现有数据库

  • 登录Heroku账号,进入出问题的应用页面
  • 切换到Resources标签页
  • 在Add-ons列表里找到你的数据库(一般是Heroku Postgres),点击名称进入管理页面
  • 跳转到Settings标签,找到Destroy Database选项,按提示确认销毁(注意:这一步不可逆,确保你完全不需要现有数据了)

2. 修复本地Django数据库配置(解决settings.DATABASES报错)

那个配置错误提示说明Heroku没法正确识别你的数据库设置,你得确保本地settings.py适配Heroku环境:

  • 先确认安装了dj-database-url包(没装的话,本地运行pip install dj-database-url,并把它添加到requirements.txt)
  • 修改settings.py里的数据库配置部分,替换成:
    import os
    import dj_database_url
    
    # 保留本地开发的数据库配置(方便本地测试)
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }
    
    # 适配Heroku生产环境
    if 'DATABASE_URL' in os.environ:
        DATABASES['default'] = dj_database_url.config(conn_max_age=600, ssl_require=True)
    
  • 保存修改后,把变更提交到Git:
    git add settings.py requirements.txt
    git commit -m "Fix Heroku database configuration"
    

3. 重新部署代码到Heroku

把修复后的代码推送到Heroku:

git push heroku main

4. 重新添加数据库插件并执行迁移

  • 给应用重新添加Heroku Postgres数据库(免费的hobby-dev tier足够测试使用):
    heroku addons:create heroku-postgresql:hobby-dev
    
  • 确认数据库环境变量已正确设置:
    heroku config:get DATABASE_URL
    
    能返回类似postgres://xxx:xxx@xxx.amazonaws.com:5432/xxx的字符串就说明没问题
  • 最后执行迁移,把本地模型同步到Heroku的新数据库:
    heroku run python manage.py makemigrations
    heroku run python manage.py migrate
    
    (如果本地已经有migrations文件夹的迁移文件,也可以跳过makemigrations直接执行migrate,不会有问题)

5. 验证修复效果

  • 启动Heroku应用进程:
    heroku ps:scale web=1
    
  • 访问你的应用URL,确认之前的配置错误消失,数据库相关功能正常工作
  • 也可以通过shell验证模型是否能正常访问:
    heroku run python manage.py shell
    # 导入你的模型测试,比如:
    from myapp.models import MyModel
    MyModel.objects.all()
    

这样操作下来,你的Heroku数据库就完全重置并和本地模型同步了,以后记得先在本地做好迁移测试,再推送到生产环境哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 16:47:41