мое приложение rails работает правильно, а при запуске rake db:migrate работает правильно.
теперь проблемы возникают, когда я пытаюсь запустить консоль рельсов.
2.0.0p247 :003 > User
=> User(no database connection)
Ответ 1
простое решение:
Консоль, вероятно, имеет соединение с базой данных, но сообщает, что она этого не делает.
Чтобы узнать, действительно ли это, сделайте запрос в консоли.
User.count
Это зафиксировало ложное положительное предупреждение для меня и коллеги.
или
Используйте Model.connection для установления соединения.
Ответ 2
Это связано с тем, что 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, ...)
Ответ 3
Чтобы восстановить поведение моделей ActiveRecord, отображающих информацию о столбцах сразу после загрузки консоли, это одно из решений:
# config/application.rb
console do
ActiveRecord::Base.connection
end
Ответ 4
Это не проблема. Все, что происходит, это соединение не создается до тех пор, пока оно не понадобится.