我刚刚在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中
答案 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