Rails6で実装されたActiveRecord#upsert_allでバルクアップデートをしようとすると

ActiveRecord::StatementInvalid: PG::CardinalityViolation: ERROR: ON CONFLICT DO UPDATE コマンドは行に再度影響を与えることはできません HINT: 同じコマンドでの挿入候補の行が同じ制約値を持つことがないようにしてください

とエラーが出たけどCardinalityViolationの意味がわからなかったので調べてみました。

続きを読む

プロフィール画像

ironsand

語学好きのプログラマーです

Railsエンジニア

Yokohama