【问题标题】:Rails using unkown config file for database connectionRails 使用未知的配置文件进行数据库连接
【发布时间】:2013-12-14 12:51:31
【问题描述】:

我有一个奇怪的问题。

我已将我的 database.yml 文件设置为对所有三个(生产、测试​​、开发)数据库使用 sqlite3

  1. 我使用所有默认值创建了一个新的 rails 项目。

  2. 我使用 WEBrick 启动了铁路服务器

  3. 我收到“ActiveRecord::ConnectionNotEstablished”错误

  4. 我试试 $rake db:create

  5. 我收到以下错误: 为数据库适配器指定了“postgresql”,但未加载 gem。将gem 'pg' 添加到您的 Gemfile。

  6. 我安装了 pg 和 postgres 服务器,我得到了

fe_sendauth: 网页上没有提供密码错误

  1. 我在控制台上再次尝试 $rake db:create 并得到

  2. fe_sendauth:未提供密码(我知道这是 postgres 密码错误)

  3. 似乎 Rails 选择的数据库适配器与我的 database.yml 文件中的不同。

我不知道它可能在哪里。它甚至似乎在寻找我在以前的某个项目中使用的特定数据库。因此 Rails 必须查看其他配置文件。

有人可以帮忙吗?

【问题讨论】:

  • 当您从该特定项目目录执行rails dbconsole 时会发生什么?
  • 你在使用Heroku吗?顺便问一下,development 中是否也出现这些错误?

标签: ruby-on-rails database-connection


【解决方案1】:

将 sqlite3 gem 添加到您的 Gemfile:

gem 'sqlite3'

并将sqlite3 设置为database.yml 中的适配器:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

【讨论】:

  • 这就是我所做的。 Rails 是否可以查看其他配置文件......
  • 第 5 步描述的错误表明指定的适配器是postgresql。确保将sqlite3 设置为适配器,然后重试。在 Rails 项目中配置数据库访问的唯一文件是 config/database.yml
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-29
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
相关资源
最近更新 更多