在rails控制台中没有数据库连接
我的rails应用程序工作正常,当我运行rake db:migrate
工作正常。 现在问题出现在我尝试启动rails控制台时。
2.0.0p247 :003 > User => User(no database connection)
这是由于ActiveRecord从4.0
开始懒惰地build立连接。 只是不用担心。
第一次build立之后,您将开始看到预期的输出。 尝试这个:
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, ...)
简单的解决scheme:控制台可能有一个数据库连接,但报告说,它不。
要查看是否属实,请在控制台中进行查询。
User.count
这为我和一位同事确定了误导性警告。
要么
使用Model.connection
build立连接。
要在控制台加载后立即恢复显示其列信息的ActiveRecord模型的行为,请使用以下解决方法:
# config/application.rb console do ActiveRecord::Base.connection end
这不是问题。 所发生的一切就是连接在需要之前不会被实例化。