0

私の問題: postgresql データベースを使用するように、Rails アプリケーションの開発、テスト環境をセットアップしました。では、問題がないことを確認するにはどうすればよいでしょうか。

注: 私は Rails の初心者であり、データベースを使用しています

私が確認したこと

  1. Railcastに従って、デフォルトの sqlite3 から postgresql に移行しました。
  2. Railsコンソールを起動し、次を使用してユーザーを作成しました

    User.create(名前: "Anil Bande"、電子メール: "anil@gmail.com"、パスワード: "foobar"、password_confirmation: "foobar")

  3. 出力から、ユーザーが作成されたように見えました。$ User.allRails コンソールで実行したことを確認するには、ステップ (2) で作成したオブジェクトが出力に表示されました。

  4. 今、私はpostgresqlプロンプトからこれを見たいと思っていました. だから私はそう$psql sample_app_developmentしました、そしてpsqlプロンプトが来ました。

  5. psql>> \dデータベース内のすべてのテーブルを一覧表示するために psql を実行しました。それがあり、私が興味を持っていたテーブル「ユーザー」も存在していました。

  6. を実行しましたpsql>> select * from usersが、結果はありませんでした。プロンプトが戻ってきました。

ここに私の混乱があります。ステップ (6) 何も表示されません。しかし、Rails コンソールでは、ユーザーが作成されてデータベースに保存されているように見えます。(a) どうしてですか?(b) 開発およびテスト環境をセットアップするために行ったすべてのことが正しいことを確認するにはどうすればよいですか?

4

3 に答える 3

1

Railsの部分についてはコメントできませんが、これについては:

psql>> select * from users を実行しましたが、結果はありませんでした。プロンプトが戻ってきました。

ステートメントを で終わらせるのを忘れました;

ステートメントが複数行にまたがることが許可されているため、ステートメントの入力が終了したら psql に通知する必要があります。psql がさらに待機していることを示すために、プロンプトが からpsql=>に変化したことに注意してください。psql->

だから入ったら

psql=> select * from users;

あなたは大丈夫なはずです。

(明確にするために:プロンプトの一部としてのpsqlは単なる例です。実際のプロンプトには、接続しているデータベースの名前が含まれます。探すべき重要なことは=>andです->

于 2013-02-09T09:36:08.897 に答える
0

postgresを使い始めたばかりの場合は、pgadminなどのGUIインターフェイスを使用して一般管理者の方が適している場合があります。

たとえば、それは終わり';'であることを教えてくれます 行方不明でした。それでも、psglコマンドラインに直接移動できます。

于 2013-02-13T04:39:38.550 に答える
0

コンソールで DB の移行を実行しましたか?

rake db:migrate

その場合は、データベース構成 yml ファイルに正しい情報が含まれていることも確認してください ->

ユーザー、パスワード、ローカルホストなど、データベースのリスト

development:
  adapter: postgresql
  encoding: unicode
  database: pg2_development
  pool: 5
  username: postgres
  password: root
  host: localhost

--> rails server を実行し、 goto localhost:3000/user より結果を確認します

于 2013-02-09T09:30:34.047 に答える