Rails:Heroku中的Postgres数据库(可能是愚蠢的问题)

时间:2013-08-26 00:33:15

标签: ruby-on-rails postgresql

我从未真正成为数据库人。我正在使用Postgres,在我的database.yml中,我有:

test:
  adapter: postgresql
  encoding: unicode
  database: blog_test
  pool: 5
  username: blog
  password: <%= ENV['POSTGRES_PASSWORD'] %>
development:
  adapter: postgresql
  encoding: unicode
  database: blog_development
  pool: 5
  username: blog
  password: <%= ENV['POSTGRES_PASSWORD'] %>
production:
  adapter: postgresql
  encoding: unicode
  database: blog_production
  pool: 5
  username: blog
  password: <%= ENV['POSTGRES_PASSWORD'] %>

我很快将这个推到了heroku,只是有一些顾虑。这是我的问题(他们可能是愚蠢的问题,但我在谷歌找不到任何解决这个问题的方法):

1。 Heroku会使用我的herokue密码为我设置吗?我应该按原样保留此文件吗?

2。如何测试我的数据库是否受密码保护?

第3。甚至有这个文件有什么意义?我不是唯一一个可以轻松访问我的Rails文件的人(没有黑客行为)吗?

提前谢谢你。我正在使用postgresapp&amp;我在heroku上部署

3 个答案:

答案 0 :(得分:3)

可能值得查看Heroku Postgres文档。关键点在于,当您上传到Heroku时,Heroku会使用自动生成的文件替换database.yml文件来处理设置。您在本地拥有的database.yml文件的唯一要点是管理与开发和测试数据库(以及本地生产数据库,如果您选择使用某种本地登台环境或其他东西)的连接。

答案 1 :(得分:2)

您可以从database.yml文件中删除生产条目。

  

当Rails应用程序部署到Heroku时,database.yml文件是   为您的应用程序自动生成配置   ActiveRecord使用PostgreSQL连接并连接到   数据库位于DATABASE_URL。

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

答案 2 :(得分:2)

Heroku实际上在部署时用自己的数据覆盖了yourdatabase.yml。这意味着您不必担心任何数据库名称/用户名/密码等。

这些东西确实存在并且可以在需要时访问,但默认情况下Heroku“知道”它并将自动设置你的连接。

如果您想查看自己的数据库,可以访问:https://postgres.heroku.com/databases。这将为您提供应用程序的数据库名称和登录凭据。