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