Подтвердить что ты не робот

Нет подключения к базе данных в консоли rails

мое приложение rails работает правильно, а при запуске rake db:migrate работает правильно. теперь проблемы возникают, когда я пытаюсь запустить консоль рельсов.

2.0.0p247 :003 > User
 => User(no database connection)
4b9b3361

Ответ 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

Это не проблема. Все, что происходит, это соединение не создается до тех пор, пока оно не понадобится.