rails控制台中没有数据库连接

时间:2014-01-11 12:18:09

标签: ruby ruby-on-rails-4

当我运行rake db:migrate时,我的rails应用程序运行正常,但是当我尝试启动rails控制台时出现问题。

2.0.0p247 :003 > User
 => User(no database connection)

4 个答案:

答案 0 :(得分:77)

这是由于ActiveRecord从4.0开始懒惰地建立连接。只是不要担心。

第一次建立后,您将开始看到预期的输出。试试这个:

2.1.4 :001 > User
# => User (call 'User.connection' to establish a connection)

2.1.4 :001 > User.count
# => SELECT COUNT(*) FROM "users" ...

2.1.4 :001 > User
# => User(id: integer, email: string, encrypted_password: string, ...)

答案 1 :(得分:30)

简单的解决方案: 控制台可能确实有一个数据库连接,但报告它没有。

要查看是否属实,请在控制台中进行查询。

User.count 

这解决了我和同事的误报警告。

使用Model.connection建立连接。

答案 2 :(得分:12)

要在控制台加载后立即恢复显示其列信息的ActiveRecord模型的行为,这里有一个解决方法:

# config/application.rb
console do
  ActiveRecord::Base.connection
end

答案 3 :(得分:3)

这不是问题。所有发生的事情都是在需要之前没有实例化连接。