2017-07-30 3 views
0

エラーは.sumを使用しようとしたときのものです。Herokuの上で私は問題が何であるかを知らないと、すべてが開発に正常に動作しているので、それをテストする方法がありません.SUMコードは次のとおりです。。"ActionView :: Template :: Error(PG :: UndefinedFunction:エラー:関数の合計が存在しません").sumを使用したプロダクションでのみレールエラー

CallLog.where(date: Date.today).sum(:duration).round(3) 

期間の列が10進数です

+0

であると仮定しましたか? – tronmcp

答えて

1

このduration列のデータ型がvarcharであるために発生します おそらく、最初に間違ったデータ型で定義したのでしょうかあなたの移行ファイルでそれを変更しましたか?

あなたがして現在のタイプを見つけることができます:列は、そのデータが含まれている場合

alter table call_logs alter column duration type numeric(10,0) using duration::numeric

これだけ作品:

SELECT pg_typeof(duration) FROM call_logs LIMIT 1

次のようなもので種類を変更する必要があります数値にキャストすることができます。そうでなければusingの部分は失敗します。この場合、データをクリーンアップしてから、再度変更してください。

DBを前もってバックアップして、ケースに合わせて正しいタイプ(https://www.postgresql.org/docs/9.6/static/datatype-numeric.html)を選択してください。

注:私はdurationが私の最初の考えはあなたが両方の環境でのRailsの同じバージョンを実行しているされている番号(秒数など)

関連する問題