Ruby on rails 导轨控制台可以';无法连接到数据库

Ruby on rails 导轨控制台可以';无法连接到数据库,ruby-on-rails,macos,Ruby On Rails,Macos,在过去的几天里,我将我的OSX更新为Maverics。今天,当我尝试创建这样的新项目时: rails new abc rails console 有很多问题,但我安装了xcode,现在它的工作。现在我像这样打开rails控制台: rails new abc rails console 然后无论我写什么,我只看到: Loading development environment (Rails 4.0.1) 1.9.3p448 :001 > Link => Link(no dat

在过去的几天里,我将我的OSX更新为Maverics。今天,当我尝试创建这样的新项目时:

rails new abc
rails console
有很多问题,但我安装了xcode,现在它的工作。现在我像这样打开rails控制台:

rails new abc
rails console
然后无论我写什么,我只看到:

Loading development environment (Rails 4.0.1)
1.9.3p448 :001 > Link
=> Link(no database connection)

怎么了?Mysql正在运行,数据库已存在。当我使用rakedb:migrate时,一切正常。

Rails 4.0.1也有同样的问题。它发生在我部署到的Linux服务器以及我的Mavericks开发机器上

服务器工作,规范工作,但控制台没有数据库连接

恢复到Rails 4.0.0可以修复控制台的问题

Link.count

我没有发现任何其他关于这个问题的提及。4.0.1和Postgres适配器的更改可能有问题,也许?(您正在使用Postgres吗?

尝试使用
重新加载并确保在指定模型中有记录


我在ubuntu上也有同样的问题。我用了
重新加载并在数据库中添加记录。

控制台可能有数据库连接,但报告没有

要查看这是否正确,请在控制台中进行查询

Link.count
这修正了我和一位同事的误报警告。

根据《on》

该消息只是告诉您AR尚未连接到数据库,因此不知道列信息。我认为最好不要连接到数据库,除非我们需要获取数据


现在,您可以使用
Model.connection
建立连接。

过去,加载控制台后立即引用ActiveRecord模型将返回其列信息。Rails现在仅在通过
connection
first
all
count
等方法显式强制连接到数据库时返回此信息

您可以通过将其添加到
config/application.rb

console do
  ActiveRecord::Base.connection
end

你确定你的
数据库.yml
对于开发环境是正确的吗..是的,我确定rake db:migrate不起作用。在我将我的应用升级到rails 4之后,我遇到了同样的问题。不,我在ubuntu上使用mysql,运行在vagrant虚拟机上。这里也是。绝对是bug@JosephJaber的评论让我觉得这不是一个bug。Rails 4.1中的信息已经更改,以便更清楚地表达。请参阅下面的@juanitofatas答案。它修复了假阳性,但仅在控制台仍然打开时修复。一旦你退出并重新进入,它就会再次发生。请参阅Joseph Jaber对Fixer的回答,感谢您的解释。这是一个糟糕的措辞和行为选择。这是解决它的办法!