2011-08-26 10 views
10
私はマイケル・ハートルの優れた tutorialて働いています

の所有者である必要がありますが、コマンドでテスト・データベースを準備しようとすると: バンドルのexecすくいデシベル:テスト:レーキが中止! ERROR:データベース

ERROR:私は、このエラーメッセージが表示されます を準備:CREATEDB LOGIN

を持つ役割demo_appをCREATE

:データベースsample_app_testの所有者...開発データベースを使用しているとき、私は私のRailsアプリケーションのための次のデータベースロールを作成していたので、私は、やったことがなかった

でなければなりません

(これはPostgreSQLを使用しています)

これはテスト環境ではなぜ失敗しているのですか? TIA ...

+0

私は、Rails 3.0.9、ruby 1.8.7、Postgres 8.4.8を使用していることを忘れています。上記の問題はありませんでした。 – rixter

+2

これを解明したことがありますか?私は同じ問題にぶつかっています – nicholaides

答えて

14

テストDBの所有権を確認しましたか? Postgresコンソールクライアントで\lコマンドを実行し、所有権を確認してください。後世のためにこれを書き留め、

ALTER DATABASE sample_app_test OWNER TO demo_app;

+0

あなたの声明の最後に ';'を忘れてしまった;) – Chris

1

最初の投稿:あなたはまた、次のクエリを試すことができます。私は同じ問題を抱えていたが、それを修正することができた。データベース(またはエラーを投げているもの)を作成するときにスーパーユーザーとしてサインインされていることを確認するだけで済みます。

私はこのコードではpsqlにログインした

sudo sudo -u postgres psql 

そして、私のデータベースを作成しました。 これは悪いです。

sudo su - postgres 

そして、あなたはpostgresのにログインしている後:あなたはこれらのスーパーユーザ認証情報でログインしたい

psql 

はその後、あなたのデータベースを作成します。コマンドを使用して古いデータベースを終了することができます

DROP DATABASE "database_to_drop"; 

それらを再作成してください。

関連する問題