在database.yml上配置postgresql

时间:2018-09-25 20:34:09

标签: ruby-on-rails database postgresql

我有一个在heroku上运行的Rails Web应用程序。在我的heroku网站仪表板上,它说我的应用程序正在postgresql上运行,但是我的database.yml说它在sqlite3上运行

default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3

这是我的宝石文件

group :development do
  gem 'sqlite3'
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

group :production do
  gem 'pg'
end

我想使adpater postgresql用于生产,以便可以将RAILS_MAX_THREADS更改为25。

我不确定更改此设置是否可以擦除我的生产数据库,所以我请您提供有关如何解决此问题的帮助。

2 个答案:

答案 0 :(得分:0)

您似乎尚未配置生产数据库。

production:
  adapter: postgresql
  database: your_database
  user: your_user
  password: your_password
  pool: 5

您应该将数据库用户和密码保存在环境变量中。您可能会发现此文档有帮助:https://devcenter.heroku.com/articles/getting-started-with-rails5#add-the-pg-gem

答案 1 :(得分:0)

在您的database.yml中 您必须配置生产环境

production:
  adapter: postgresql
  encoding: unicode
  database: db_name
  pool: 5
  username: db_user
  password: db_pass