2011-01-04 9 views
1

ローカルではなく、HerokuでActiveRecord PGErrorを取得しています。 Herokuのログからのエラーメッセージは次のとおりです。ActiveRecord PGError on Herokuローカルではありません

ActiveRecord::StatementInvalid (PGError: ERROR: column items.user_id does not exist LINE 1: SELECT "items".* FROM "items" WHERE ("items".user_id = 4) OR

このコードは、Herokuの(PostgreSQLの)上でローカルに(SQLiteの)ではなく動作しますので、私は違いについて読んでてきました。最初は私はそれがUser_IDであるべきであることを認識したので事例だったと思ったが、今はよく分からない、それはかなり「正しくない」アイテムに関するものであり、です。

これは私のローカルマシン上では絶対にうまくいくと言いましたが、それはヒロクとポストグレーズだけに問題が出てくることです。

ありがとうございます。

答えて

0

結局のところ、postgresはdbに送信する前にすべてをダウンケースに入れました。私のuser_idは、実際には、User_IDと呼ばれていました。マイグレーションの後、すべてがうまくいっています。

1

データベースにアイテムテーブルに 'user_id'列がないようです。これは、移行が最近実行されていないか、または新しい移行を作成してこの列を追加するのではなく、既存の移行を編集した可能性があるためです。

現時点でのヒーローに関するデータは気になりますか?そうでない場合は、タップを使用してローカルデータベースにあるものをすべて取り出し、Herokuのデータベースを(仮想の)同期コピーに設定することができます。ローカルマシンのプロジェクトディレクトリから:

これは、あなたのherokuデータベースを拭き取って、これを賢明に使用します。

+0

私はHerokuのすくいデシベルを行いました:移行、およびなく、Herokuのデシベル:プッシュ私はHerokuのDBをやった:私のデータをダウンさせるために引いて、それがローカルで働いていることを確認してください、それは、それはちょうど英雄ではなくローカルで正常に働いた – toast

+0

その列はどのデータ型ですか?あなたはsqliteをローカルで使っています - ポストグルにローカルで移動しようとしていますので、何が起こっているか見ることができます。または、heroku db:reset – stef

+0

を整数に設定してみてください。私は今後も開発をポストグルに変えなければならないと思っています。私はヒロクが何を使用したのか分かりませんでしたが、当分の間、私はポストグロリアに移動するとすべてが起こりますローカルに。私はheroku dbを試みることができます:しかし、私はちょうど問題がデータベースのデータにあるとは思わない理由を完全にはわからないリセット。 – toast

0

は、次のコマンドを使用して、アプリを再起動してみてください:

heroku restart 
関連する問題