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

Rails 3.2.12启动报错:database configuration does not specify adapter求助

解决ActiveRecord::AdapterNotSpecified错误:database配置未指定adapter

我碰到过好几次这个问题,大部分都是YAML格式的锅——毕竟YAML对缩进和语法的要求真的很严格。从你给出的database.yml内容来看,格式明显有问题,导致Rails无法正确解析出adapter配置项,咱们一步步来解决:

1. 修复database.yml的YAML格式

你的配置里所有键值都挤在一行,没有正确缩进,这会让YAML解析器完全读不懂。正确的格式应该是这样的(注意每个配置项前的2个空格缩进,锚点和继承语法的位置):

&config
  adapter: postgresql
  encoding: unicode
  pool: 5
  username: postgres
  password: password25
  host: localhost

development:
  database: myproject_development
  <<: *config

test: &test
  database: myproject_test
  <<: *config

production:
  database: myproject_production
  <<: *config
  # 这里可以根据生产环境需求添加额外配置,比如不同的用户名、主机等

2. 确认文件位置与权限

  • 确保database.yml确实在项目的config/目录下,没有被误改名或者移动位置;
  • 在Ubuntu下,给文件设置正确的读取权限:
    chmod 644 config/database.yml
    

3. 验证PostgreSQL服务与用户权限

  • 先检查PostgreSQL服务是否在运行:
    sudo service postgresql status
    
    如果没运行,启动它:
    sudo service postgresql start
    
  • 验证你的postgres用户能正常连接本地数据库:
    psql -U postgres -h localhost
    
    输入你配置的密码password25,如果能成功进入psql命令行,说明用户权限没问题。

4. 手动创建数据库后启动服务器

先尝试创建开发环境的数据库:

rake db:create RAILS_ENV=development

如果数据库创建成功,再启动服务器:

rails s RAILS_ENV=development

按照这些步骤操作后,应该就能解决这个adapter未指定的错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:14:11