🐥

GORMをv1からv2に上げる際に、論理削除で気を付けること

2023/04/11に公開

想定読者

  • GORMをv1からv2に上げたい方

結論

GORMをv1からv2に上げる際に、DeletedAtに当たるカラムの型をgorm.DeletedAtにリプレイスする

詳細

v1では、DeletedAtという名前のカラムを持つ場合、論理削除ができます。

type User struct {
  ID        uint
  DeletedAt *time.Time
}

v2では、DeletedAtに当たるカラムにgorm.DeletedAtを指定することで、論理削除ができます。
この際、gorm.DeletedAtを指定するカラムはDeletedAtという名前でなくてもOKです。

type User struct {
  ID   uint
  hoge gorm.DeletedAt
}

GORMをv1からv2に上げる際は、gorm.DeletedAtに置き換えるのを忘れないようにしましょう。

参考

https://gorm.io/docs/v2_release_note.html#Breaking-Changes
https://v1.gorm.io/docs/delete.html#Soft-Delete

Discussion