0


0

acts_as_list herokuのpostgresエラー

has_many_polymorphsとacts_as_listを使用しています。 ローカルではすべて正常に動作しますが、herokuでは、acts_as_listメソッドがいくつか呼び出されるたびにエラーが発生します。 すなわち、リスト内の項目の追加または削除のために、新しい位置で多数のレコードを更新するもの。

acts_as_listメソッドの例:

def decrement_positions_on_higher_items(position)
        acts_as_list_class.update_all(
          "#{position_column} = (#{position_column} - 1)", "#{scope_condition} AND #{position_column} <= #{position}"
        )
      end

Postgresエラーの例

ActiveRecord::StatementInvalid (PGError: ERROR:  operator does not exist: character varying - integer
LINE 1: UPDATE "ads_placements" SET position = (position - 1) WHERE ...
                                                         ^

AdsPlacment.rb

acts_as_list :scope => 'placement_id=#{placement_id} AND placement_type=#{quote_value placement_type}'

1 Answer


2


それはpostgres列タイプのエラーであることが判明しました。 (可変文字-整数)