基本的にはこの記事の通りにやっただけなのだが、自分用にもメモ。
heroku logs --tail
してみると
duplicate key value violates unique constraint "posts_pkey"
(今回はposts
テーブルの値をupdateしようとしておきたので、posts_pkey
の部分は各自のテーブル名によって変わる。)
Postテーブルの一番大きなidが154だったので、Posticoの「SQL Query」で以下を打って解消。
SELECT last_value FROM posts_id_seq /* 最大のidを確認するクエリー */
SELECT setval('posts_id_seq', 155);
ただし本来は数字は154を指定すればOKなはずだが、なぜかうまくいかなかったので1つ飛ばす形となった。
原因
今回はStaging環境でおきたことで、localhost:3000やproduction環境では起きなかった。原因はやはりStaging環境のDBとproduction環境のDBを揃えようとして、Postico上でExportしたCSVファイルをImportするときに、こんかいのシーケンス番号というのがおかしくなってしまったようだ。
PosticoではImport時に既存のレコードを上書きすることができないため、一度テープルのレコードを全部消してインポートとかしていたがこれがまずかったよう…。