Railsで全テーブル物理削除の構成でmysqlを利用して、アプリケーションを作っているのですが、削除されたidが再利用される現象が起きています。
例: レコードinsert -> id: 1 レコードinsert -> id: 2 id: 2のレコード削除 レコードinsert -> id: 2
mysqlをSQL等で直接いじることはしていなく、全てRailsで操作しています。
production環境で起きているので、何が原因か探りたいのですがログからでは全く追えず・・・
Railsでこのような設計をしているとdestroy時にauto incrementがリセットされる(idの最大値の+1になる)よ!等の情報を持っている方がいればぜひ教えてください。
(auto incrementの値がリセットされているかはmysqlから確認しました)
早速の回答ありがとうございます。以下に追記させていただきます。
試したこと
>1,2とあって2を削除したとき この場合は2が削除され、リセットされる問題が起きた場合は2が再度挿入されます。 >1,2,3とあって1を削除したとき この場合はリセットされる問題が起きた場合でも1が入ることはなく、次のinsertでは4が入ります。 >1,2,3とあって2を削除したとき 上記同様次のinsertは4が入ります。 >1,2,3とあって3を削除したとき この場合は2が削除され、リセットされる問題が起きた場合は3が再度挿入されます。
実はある程度の期間運用(と言っても自分の趣味のサービスで事業等ではないです)しており、いくつか起きています。
そして毎回リセットされるわけではなく、気づいたらリセットされている・・・と言った感じでトリガーがわかっていない状況です。
毎回リセットされているわけではないので、今
削除 -> 追加
を行ってもどのパターンでもリセットされているような挙動はしません。
回答1件
あなたの回答
tips
プレビュー