PostgresqlのCardinalityViolationエラーの解決方法

Rails6で実装されたActiveRecord#upsert_allでバルクアップデートをしようとすると ActiveRecord::StatementInvalid: PG::CardinalityViolation: ERROR: ON CONFLICT DO UPDATE コマンドは行に再度影響を与えることはできません HINT: 同じコマンドでの挿入候補の行が同じ制約値を持つことがないようにしてください とエラーが出たけどCardinalityViolationの意味がわからなかったので調べてみました。 ...

2022-06-07 · ironsand