更改postgresql的database.yml

时间:2015-04-05 15:08:44

标签: ruby-on-rails postgresql

我刚刚在rails应用程序上创建了我的第一个ruby并希望将我的数据库更改为postgresql以便与heroku一起使用。到目前为止,我已经完成了这项工作,但我认为它无法正常工作。如果你看错了,能告诉我吗?感谢

database.yml中:

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: postgresql
  database: myrubyblog
  user: myrubyblog
  password: 
  pool: 5
  timeout: 5000

development:
  <<: *default
  adapter: postgresql
  database: myrubyblog
  user: myrubyblog
  password: 

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  adapter: postgresql
  database: myrubyblog
  user: myrubyblog
  password: 

production:
  <<: *default
  adapter: postgresql
  database: myrubyblog
  user: myrubyblog
  password: 

我也改变了gem&#39; sqlite3&#39;进入宝石&#39;&#39;在Gemfile中

2 个答案:

答案 0 :(得分:3)

以下内容应该有效(假设用户和密码在postgres中是正确的)

default: &default
  adapter: postgresql
  user: myrubyblog
  password: 
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: myrubyblog

test:
  <<: *default
  database: myrubyblog

有关如何为每个数据库定义重复使用&default,请参阅What do the &,<<, * mean in this database.yml file?

您无需在database.yml中定义生产环境; heroku将创建自己的database.yml版本以供生产使用。

有关database.yml

中配置的更多详细信息,请参阅http://edgeguides.rubyonrails.org/configuring.html#configuring-a-database

正在运行rails new myblogapp --database=postgresql将创建一个新的myblogapp应用程序,其中database.yml中的相应内容已定制,以便与postgres一起使用。

答案 1 :(得分:-1)

它似乎取决于您的Rails版本。 Heroku在这里给出了说明:

https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-ruby