0

データベースの移行で発生している問題をデバッグしようとしています。

アプリケーションを問題なく実行し、herokuにプッシュして実行するrake db:migrateと、エラーが発生しました

PG ::エラー:エラー:関係「場所」が存在しません
4行目:WHERE a.attrelid ='"places"' :: regclass
^
: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 ='"places"' :: regclass
AND a.attnum> 0 AND NOT a.attisdropped
a.attnumによる注文

ローカルでの移行は問題なかったが、サーバーでの移行では問題がなかったのは非常に奇妙だと思いました。私は他の何人かの人々が同様の問題を抱えていることを発見しましたが、誰もが解決策を持っていることを決して発見しませんでした。StackOverflowで見つけた回答は受け入れられませんでした。さまざまなことを数時間試した後、新しいherokuアプリを最初から作成し、アプリをそのアプリにプッシュしようと思いました(これは他の誰かのために機能しました)。基本的には最初からやり直します。

私がそれをしたとき、私は同じエラーを受け取りました、しかし今はwineries

奇妙なことに、Herokuの推奨に従って、ローカルで新しいデータベースを作成し、移行を実行してみました。

ローカルでは、同じエラーが発生しますが、テーブル上にありますadmin_users

実際の移行ファイルには何の問題もないと確信しています。移行を実行するたびに、異なるテーブルが取得されるため、影響を受ける別の移行が発生する可能性があります。

いくつかの宝石を削除しようとしましたが、それでも同じエラーが発生します。

rake:dbは、移行ファイル以外のファイルの外部を調べますか?これは人間関係の問題でしょうか?

これを解決する方法に関する他の提案はありますか?

4

1 に答える 1

1

データの更新を行うために、移行でモデルにアクセスまたは使用していますか? config/initializers の何かでモデルを使用していますか? rake db:migrate は Rails 環境をロードするので、まだ存在しないモデルにアクセスしようとすると、このエラーが吐き出されます...

于 2013-01-03T21:35:37.110 に答える