1

rails4 アプリケーションに PG を使用しています。

新しいマシンに git clone するか、プロジェクトをクリアするたびに、アプリケーションを再び動作させる前に、postgres のユーザーを作成し続ける必要があります。

これは、自分のコードをデザイナーなどと共有し、データベース ユーザーの設定やスーパー ユーザーの作成などの詳細を不必要に調べなければならない場合に問題になります。

PG gem を使用していて、Rails が database.yml から必要なユーザーを既に知っている場合、これを自動化する方法はありますか?

4

3 に答える 3

-1

@meagar は、パスワードとキーをバージョン管理から除外することについて正しいので、そのアドバイスを心に留めておいてください。

最近では、環境変数を使用してログイン情報を保存するのが一般的です。そのデータは、実行している環境に本質的に結び付けられているからです。database.ymlしたがって、実際には、実際のシークレットではなく、環境変数への呼び出しを入れれば、バージョン管理にチェックインできます。

たとえば、ファイルにusername: <%= ENV[DB_USER_DEV] %>andのようなものを入れることができます。次に、とを入れます。password: <%= ENV[DB_PASS_DEV] %>database.ymlDB_USER_DEV=my_psql_usernameDB_PASS_DEV=hashed_gibberish~/.profile

vagrant では、ベース ボックスの Vagrantfile のプロビジョニングでユーザー変数と環境変数を作成します。私たちのプロジェクトはすべて同じベースボックスを使用しており、それらの ENV 変数を追加することで、開発のdatabase.ymlすべてを多かれ少なかれ自動化できます!

于 2015-07-08T04:55:28.373 に答える