【发布时间】:2020-01-27 12:02:24
【问题描述】:
生产模式下的应用程序正在按预期返回内容。假设它正在连接到配置的数据库。 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
但是,当通过控制台连接到数据库时,无论是在开发中(数据库不存在)还是在生产中,控制台都连接到错误的数据库。它还引用了从 database.yml 文件中删除的用户名(应用程序随后重新启动)。
注意:曾经在 yml 文件中为 schema_search_path 属性引用了字符串 myapp,但它是一个注释掉的行(不确定它是否曾经被激活。'
> 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"}
控制台和应用程序不同步。什么可以使控制台使用不同的值以及如何重置它以使用正确的配置数据?
【问题讨论】:
标签: ruby-on-rails postgresql console