My rails application works fine when I run rake db:migrate
but the problem occurs when I try to start the rails console.
2.0.0p247 :003 > User
=> User(no database connection)
That is due to ActiveRecord establishing the connection lazily starting 4.0
. Just don't worry about it.
After it's established the first time, you'll start seeing the expected output. Try this:
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, ...)
simple solution: The console probably does have a database connection but is reporting that it doesn't.
To see if that's true, make a query in the console.
User.count
That fixed the false positive warning for me and a colleague.
or
Use Model.connection
to establish a connection.
To restore the behavior of ActiveRecord models displaying their column information immediately after the console has loaded, here is one workaround:
# config/application.rb
console do
ActiveRecord::Base.connection
end
That isn't a problem. All that's happening is the connection is not instantiated until it's needed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With