Site icon シドニーで働くプログラマーのBlog(今はIT会社の経営者)

RailsのTaskでデータをインサートしたらDuplicate key value violates unique constraintがでる場合

RailsのTaskでレポートを生成するように作っているのですが、スケジュールで毎週動かすようにしていたのですが、どうもうまくいっていないようなので、調べてみたら、下記のエラーになっていました。
プライマーキーの最大値が更新されていないようです。

対処方法

Railsが独自のPostgreSQLシーケンスをつかっているかららしいです。
なので、SQLで最大値をセットしてあげます。これで問題なく動くようになりました。

Exit mobile version