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

ben*_*ben 38 ruby ruby-on-rails-4

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

2.0.0p247 :003 > User
 => User(no database connection)
Run Code Online (Sandbox Code Playgroud)

gmi*_*ile 78

这是由于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, ...)
Run Code Online (Sandbox Code Playgroud)


ben*_*ben 31

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

要查看是否为真,请在控制台中进行查询.

User.count 
Run Code Online (Sandbox Code Playgroud)

这为我和一位同事解决了误报.

要么

使用Model.connection建立连接.


Rub*_*ist 14

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

# config/application.rb
console do
  ActiveRecord::Base.connection
end
Run Code Online (Sandbox Code Playgroud)

  • 好的!照顾那个烦恼。我把它放在 `environments/development.rb` 中只是为了限制它的应用程序,从那里它似乎工作正常。 (2认同)