1

Rails を学んでいて、Ruby on Rails Tutorial Book に従っています。

追加の課題があり、デフォルトの SQLite3 の代わりに postgreSQL を使用する方法を教えてくれました。

ただし、postgreSQL に変更したため、SQLite で動作する rspec テストが失敗しました。

私は実行しています:bundle exec rspec spec/requests/static_pages_spec.rb そしてそれは返します:

Failure/Error: Unable to find matching line from backtrace
     PGError:
       could not connect to server: Permission denied
        Is the server running locally and accepting
        connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

これは、テスト用に database.yml にあるものです。

test:
  adapter: postgresql #sqlite3
  database: sample_app #db/test.sqlite3
  pool: 5

何かご意見は?ありがとう!!!

4

3 に答える 3

1

本当にユーザー名とパスワードを設定していないのですか、それとも単にセキュリティのために省略したのですか? 資格情報が欠落しているか、間違っているようです。正しいユーザー名とパスワードを指定していることを確認してください。ポートを指定することもできます。

たとえば、次のことを試してください。

adapter: postgresql 
database: sample_app
hostname: 127.0.0.1
port: 5432
username: USERNAME
password: PASSWORD

USERNAMEおよびPASSWORDを、Postgres サーバーをセットアップしたときに使用した値に置き換える必要があります。

于 2013-05-25T05:50:36.813 に答える
0

ここで発見したpostgres 9.2.2にダウングレードする必要がありました: https://github.com/PostgresApp/PostgresApp/issues/109

魔法のように働きました!

于 2013-06-08T15:53:36.017 に答える