Heroku部署应用数据库连接失败求助:数据库已被分离
解决Heroku数据库Detach导致的应用连接故障
针对你遇到的数据库被api-maintenance@heroku.com detach导致应用无法连接Postgres的问题,按以下步骤恢复:
确认数据库实例状态
先通过Heroku CLI查看当前应用的附加组件状态,确认目标Postgres实例是否还存在:heroku addons --app 你的应用名称如果输出中能看到
postgresql-contoured-49024相关条目,说明实例未被删除,只是与应用断开了关联。重新关联数据库到应用
使用以下命令将数据库重新附加到你的应用:heroku addons:attach postgresql-contoured-49024 --app 你的应用名称执行成功后,Heroku会自动更新应用的
DATABASE_URL环境变量。若数据库已被删除,恢复备份
如果上述命令提示实例不存在,说明数据库被移除了。Heroku Postgres默认会自动创建备份,先查看可用备份:heroku pg:backups --app 你的应用名称找到最新的备份ID后,执行恢复命令:
heroku pg:backups:restore 备份ID DATABASE_URL --app 你的应用名称恢复过程中需要输入应用名称确认操作。
重启应用并验证
最后重启应用,确保新的数据库连接配置生效:heroku restart --app 你的应用名称重启后访问应用,同时可以通过以下命令检查数据库连接是否正常:
heroku run rails console --app 你的应用名称 # 在控制台中执行:User.first(或任意模型查询),验证是否能正常获取数据
额外检查
- 确认
DATABASE_URL环境变量是否正确:
该变量应指向当前关联的Postgres实例地址。heroku config:get DATABASE_URL --app 你的应用名称
内容的提问来源于stack exchange,提问作者OdaTruth
相关产品推荐
相关产品推荐

