rakeタスクを使用してdbにデータを入力するとき、Hartl's Railsチュートリアル(第2版)の第9章の最後にエラーが発生しました。それを解決したが、何が悪くなったのか分からない。他の誰かがこのエラーに遭遇した場合、ここで私がしたことがあります。誰かが間違っていたことを知っているなら、コメントしてください - 私は知りたいです。ありがとう!PGError:ERROR:relation "users"が存在しない - Railsチュートリアル第2版第9章Heroku
は次に、これらのコマンドに
$ git push heroku
$ heroku run rake db:migrate
$ heroku pg:reset SHARED_DATABASE --confirm <name-heroku-gave-to-your-app>
$ heroku run rake db:populate
蘭、このエラーを得た:
rake aborted!
PGError: ERROR: relation "users" does not exist
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Tasks: TOP => db:populate
(See full trace by running task with --trace)
は間違っていたかを把握できませんでした。この記事に出くわしたその後:それから、 Heroku Postgres Error: PGError: ERROR: relation "organizations" does not exist (ActiveRecord::StatementInvalid)
、私はこれらのコマンドを実行しました:
heroku run rake db:reset
heroku run rake db:migrate
heroku run rake db:populate
は今、アプリが働いています。 SHARED_DATABASEをリセットするときに、なぜ私がそのエラーを出すのか、私には明らかではありません。
'db:migrate'を呼び出した後に' pg:reset'を呼び出すと、データベースが空になり、すべての移行がリセットされます。 2回目の*リセット後に*を移行したときに、移入しようとしていたテーブルが実際に存在していたはずです:^) – rjz
rjz、それは答えにする必要があります。 – EricM
ああ、ありがとうrjz。それは理にかなっている。あなたは 'heroku pg:reset SHARED_DATABASE -confirm'と 'heroku rake db:reset'の違いを知っていますか? –