Blog - GORM
GORM Save Silently Upserts Associations — How Deleted Records Come Back and How to Stop It
GORM's Save(&model) automatically upserts all associated records. If a deleted association reappears after Save, a concurrent goroutine is likely the culprit. Two-stage fix: Association().Delete as a quick patch, Omit as the permanent solution. Covers GORM v1 and v2.
GORM の Save はアソシエーションを Upsert で上書きする──削除した関連が復活するバグの原因と対処
GORM の Save(&model) はアソシエーションを自動的に Upsert で上書きします。Delete したはずの関連レコードが復活する場合、別の goroutine が Save を呼んでいるのが原因である可能性が高いです。暫定対応(Association().Delete)と恒久対応(Omit)の2段階で解消した手順を紹介します。
GORMでSQL文を確認する方法【Debug()とLogMode・v1/v2対応】
GORMで実行されるSQL文をコンソールに出力する方法を2パターン解説。Debug()で単一クエリを確認し、LogMode(logger.Info)で全体を追う使い分けと、環境変数での切り替え実装まで。