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

Rails 7部署Heroku遇ActiveRecord::ConnectionNotEstablished错误

Rails 7 博客切换PostgreSQL后本地警告与Heroku连接问题解决

本地PG::Coder.new(hash)弃用警告处理

  • 锁定pg gem版本到1.4.6,适配Rails 7的默认兼容逻辑:
    修改Gemfile中的pg gem声明:gem 'pg', '~> 1.4.6'
    执行命令更新依赖:bundle install
  • 若不想降级gem,可升级Rails到7.0.8及以上版本,新版本已修复该兼容问题。

Heroku上ActiveRecord::ConnectionNotEstablished错误排查

  • 确认Heroku已创建PostgreSQL实例:
    执行命令:heroku addons:create heroku-postgresql:hobby-dev(未创建时执行)
  • 检查config/database.yml的production配置:
    确保production环境仅使用DATABASE_URL环境变量,配置如下:
    production:
      url: <%= ENV['DATABASE_URL'] %>
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
    
    不要添加host、username、password等硬编码配置,避免覆盖Heroku自动注入的环境变量。
  • 执行Heroku数据库迁移:
    部署代码后,运行命令:heroku run rails db:migrate,确保数据库表结构正常生成。
  • 重启Heroku应用进程:
    执行命令:heroku restart,让配置变更生效。
  • 检查数据库实例状态:
    执行命令:heroku pg:info,确认数据库处于可用状态,连接数未超限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:45:02