【问题标题】:Rails: Postgres Database in Heroku (probably dumb questions)Rails:Heroku 中的 Postgres 数据库(可能是愚蠢的问题)
【发布时间】:2023-03-17 07:05:01
【问题描述】:

我从来都不是真正的数据库专家。我正在使用 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 并在 heroku 上进行部署

【问题讨论】:

    标签: ruby-on-rails postgresql


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-29
          • 2011-08-24
          • 1970-01-01
          • 2015-07-11
          • 1970-01-01
          • 2011-06-09
          • 2013-07-02
          • 2011-01-20
          相关资源
          最近更新 更多