我从未真正成为数据库人。我正在使用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上部署
答案 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。这将为您提供应用程序的数据库名称和登录凭据。