29

こんにちは、postgresql を Rails プロジェクトに接続しようとしています。テストを学習していますが、パスワードが正しくないという postgresql エラーのため、テストが実行されていません。

Edmunds-MacBook-Pro:langexchange edmundmai$ rake test:units
rake aborted!
fe_sendauth: no password supplied

私はすでに読んでおり、私の pg_hba.conf ファイルはもともと次のようになっていました。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     edmundmai  

これが私のレールプロジェクトのdatabase.ymlファイルです

default: &default
  adapter: postgresql
  encoding: utf8
  pool: 5
  username: edmundmai
  password: 

development:
  <<: *default
  database: project_development

test:
  <<: *default
  database: project_test

production:
  <<: *default
  database: project_production

これを修正する方法を知っている人はいますか?それが簡単なら、私たちはチャットできます。

4

4 に答える 4

11

まず、変更する必要があります。

local   all             all                                     trust

に:

local   all             all                                     md5

次に、PostgreSQLでとを使用してsuper_userusernameを作成し、その後、ファイルにandpasswordを追加する必要があります。usernamepassworddatabase.yml

新規を作成するには、下部をsuper_user開いPg Admin IIIて右クリックし、Login Roles新しいスーパーユーザーを作成します。

于 2012-12-03T19:38:00.687 に答える
4

ローカル マシンで、ファイルの セクションtestdevelopmentセクションの下にあるを、ログインしているユーザー名に変更する必要があります。Railsジェネレーターはそれをアプリ名と同じにしますが、それは機能しません。このセクションは、プロダクションのセットアップによって異なります。heroku を使用している場合は、何も変更する必要はありません。database.ymlusernameproduction

于 2014-03-28T10:11:05.650 に答える