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

Rails配置AWS Aurora读写库提示primary_replica未配置报错

Rails多数据库读写分离环境支持说明

Rails Active Record的多数据库读写分离能力不限制运行环境,development、test、production环境均可正常使用,不存在仅支持production环境的限制。

报错根因

你遇到的primary_replica database is not configured报错是YAML配置缩进错误导致的。
YAML对缩进层级敏感度极高,你贴出的数据库配置中,primary和primary_replica没有作为development节点的子项做正确缩进,最终Rails解析配置时,识别到的development节点下没有任何子数据库配置,自然找不到对应的primary_replica连接。

修复步骤
  • 修正config/database.yml的缩进格式,确保primary、primary_replica是development的下一级节点,正确配置示例:
development:
  primary:
    host: my-write-db.rds.amazonaws.com
    username: [username]
    password: [pw]
    database: [db]
  primary_replica:
    host: my-ro-replica.rds.amazonaws.com
    username: [username]
    password: [pw]
    database: [db]
    replica: true

注意:YAML文件禁止使用Tab做缩进,统一使用2个空格控制层级,避免解析异常。

  • 确认app/models/application_record.rb的连接配置符合规范,标准写法如下:
class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
  connects_to database: { writing: :primary, reading: :primary_replica }
end
  • 完全退出当前Rails服务进程后重新启动,配置修改不会在热重载中生效。
AWS Aurora适配额外提醒
  • 确认Aurora写实例、读副本的安全组规则,已经放通Rails服务所在主机的数据库访问端口(默认3306)
  • 若使用Aurora集群端点,可直接将集群读写、只读端点对应到primary和primary_replica配置即可,不需要额外做路由适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:48:45