ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation “impressions” does not exist というエラー

投稿者: Anonymous

RubyonRailsで投稿サイトを作っています。herokuにアップロードして、記事を投稿すると以下のようなエラーが発生してしまいました。ローカルでは発生していません。

2014-12-18T08:49:55.093179+00:00 heroku[router]: at=info method=GET path="/" host=rankhouse.herokuapp.com request_id=e970d9fb-8c34-49ce-a73f-f4afc6993397 fwd="111.216.42.238" dyno=web.1 connect=1ms service=38ms status=500 bytes=1754
2014-12-18T08:49:55.056730+00:00 app[web.1]: Started GET "/" for 111.216.42.238 at 2014-12-18 08:49:55 +0000
2014-12-18T08:49:55.082263+00:00 app[web.1]:   Rendered layouts/_categorybar.html.erb (3.3ms)
2014-12-18T08:49:55.077500+00:00 app[web.1]: Processing by HomeController#index as HTML
2014-12-18T08:49:55.086210+00:00 app[web.1]: PG::UndefinedTable: ERROR:  relation "impressions" does not exist
2014-12-18T08:15:24.482938+00:00 app[web.1]: LINE 5:                WHERE a.attrelid = '"impressions"'::regclass
2014-12-18T08:15:24.482940+00:00 app[web.1]:                                           ^
2014-12-18T08:15:24.482941+00:00 app[web.1]: :               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
2014-12-18T08:15:24.482943+00:00 app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
2014-12-18T08:15:24.482945+00:00 app[web.1]:                 FROM pg_attribute a LEFT JOIN pg_attrdef d
2014-12-18T08:15:24.482946+00:00 app[web.1]:                   ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2014-12-18T08:15:24.482948+00:00 app[web.1]:                WHERE a.attrelid = '"impressions"'::regclass
2014-12-18T08:15:24.482949+00:00 app[web.1]:                  AND a.attnum > 0 AND NOT a.attisdropped
2014-12-18T08:15:24.482951+00:00 app[web.1]:                ORDER BY a.attnum

記事投稿にはcarrierwaveをつかっており、(s3へ)画像投稿を出来るようにしてあります。
あと、以下のようなエラーっぽいものが発生してました。

2014-12-18T08:49:56.309887+00:00 heroku[router]: at=info method=GET     path="/apple-touch-icon-precomposed.png" host=rankhouse.herokuapp.com r      equest_id=a569d67a-e17c-4126-bad9-211c4b693f3f fwd="111.216.42.238" dyno=web.1 connect=1ms service=7ms status=404 bytes=1829
2014-12-18T08:49:56.307771+00:00 app[web.1]: Started GET "/apple-touch-icon-precomposed.png" for 111.216.42.238 at 2014-12-18 08:49:56 +0000

path=”/apple-touch-icon-precomposed.png”というルーティングが勝手に発生してました。

検索しても出てこず、降参してしまいました。

よろしくお願いします。

解決

すみません、解決しました。
PVを計測するimpressionistというgemをつかっており、heroku側のmigrationが済んでいなかったため起こっていました。
viewから

<%= ranking.impressionist_count %>

と参照しており、ここでErrorが起こっていました。

$ heroku run rake db:migrate

を行うことで解決しました。

コメントを下さった、KoRoNさんありがとうございます。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *