1

私はデータベースの専門家ではありませんでした。私は 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にプッシュしますが、いくつか懸念があります。これが私の質問です(それらはばかげた質問かもしれませんが、Googleでこれに簡単な方法で対処するものを見つけることができませんでした):

1. heroku は、herokue パスワードを使用してこれを設定してくれますか? このファイルをそのままにしておく必要がありますか?

2. データベースがパスワードで保護されていることをテストするにはどうすればよいですか?

3. このファイルを持っている意味は何ですか? 私の Rails ファイルに簡単にアクセスできるのは私だけではないでしょうか (もちろんハッキングする必要はありません)。

前もって感謝します。postgresapp を使用しており、heroku にデプロイしています

4

3 に答える 3

3

Heroku Postgresのドキュメントをチェックする価値があるかもしれません。重要な点は、Heroku にアップロードすると、Heroku がdatabase.ymlファイルをセットアップを処理する自動生成ファイルに置き換えることです。ローカルにあるファイルへの唯一のポイントはdatabase.yml、開発およびテスト データベース (および、何らかのローカル ステージング環境などを使用することを選択した場合は、ローカルの運用データベース) への接続を管理することです。

于 2013-08-26T00:46:37.073 に答える
2

database.yml ファイルから production エントリを削除できます。

Rails アプリケーションが Heroku にデプロイされると、PostgreSQL 接続を使用し、DATABASE_URL にあるデータベースに接続するように ActiveRecord を構成するアプリケーション用の database.yml ファイルが自動的に生成されます。

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

于 2013-08-26T00:46:24.360 に答える
2

Heroku は実際に、デプロイ時に yourdatabase.yml を独自のもので上書きします。これは、データベース名/ユーザー名/pw などを気にする必要がないことを意味します。

そのようなものは存在し、必要に応じてアクセスできますが、デフォルトで Heroku はそれを「認識」しており、接続を自動的にセットアップします。

DB を確認したい場合は、https ://postgres.heroku.com/databases にアクセスしてください。これにより、アプリのデータベースの名前とログイン資格情報が得られます。

于 2013-08-26T00:46:30.703 に答える