Приложение в производственном режиме возвращает содержимое, как и ожидалось. Предполагается, что он подключается к настроенной базе данных. Файл database.yml
выглядит следующим образом:
default: &default
adapter: postgresql
user: deploy
password: 888xxx888xxx
schema_search_path: public
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
timeout: 10000
development:
<<: *default
database: fort_development
<<: *default
database: fort_test
production:
<<: *default
database: fort_production
Однако при подключении к базе данных через консоль, будь то в разработке (где db не существует) или в производстве, консоль подключается к неправильной база данных. Он также ссылается на имя пользователя, которое было удалено из файла database.yml (и приложение впоследствии перезапущено).
примечание: однажды на строку myapp
в файле yml была указана ссылка для schema_search_path
атрибут, однако это была закомментированная строка (Нет уверенности в том, была ли она когда-либо активирована. '
> bundle exec rails c
irb(main):001:0> ActiveRecord::Base.connection_config
=> {:adapter=>"postgresql", :user=>"deploy", :password=>"888xxx888xxx", :schema_search_path=>"public", :pool=>5, :timeout=>10000, :database=>"myapp", :username=>"deploy", :host=>"127.0.0.1"}
> bundle exec rails c production
irb(main):001:0> ActiveRecord::Base.connection_config
=> {:adapter=>"postgresql", :user=>"deploy", :password=>"888xxx888xxx", :schema_search_path=>"public", :pool=>5, :timeout=>10000, :database=>"myapp", :username=>"deploy", :host=>"127.0.0.1"}
Консоль и приложение не синхронизированы. Что может сделать консоль работает с разными значениями и как ее можно сбросить для работы с правильными данными конфигурации?