【问题标题】:skip a field in automigrate GORM在自动迁移 GORM 中跳过一个字段
【发布时间】:2021-03-25 21:07:06
【问题描述】:

我的结构中有一个要迁移到数据库的函数。是否有 struct 标签来防止 gorm 迁移 struct 中的特定字段?

【问题讨论】:

    标签: go go-gorm


    【解决方案1】:

    完全忽略一个字段

    如果您的结构包含模型和非模型成员。例如,只有部分字段应该由 Gorm 读取/保存/更新。您可以完全忽略该字段(如 json 结构标记):

    type MyModel struct {
      gorm.Model // Updated by gorm
      Name string // Updated by gorm
      IgnoreMe MyType `gorm:"-"` // Not touched by gorm
    }
    

    不迁移特定字段但仍通过 gorm 读取/更新值

    如果您更改特定字段的类型或只是不想自动迁移它。 (这可能是个坏主意)

    这似乎是这里的一个新功能:https://github.com/go-gorm/gorm/pull/4028

    type MyModel struct {
        gorm.Model
        Name string `gorm:"migration"`
    

    https://github.com/go-gorm/gorm/pull/4028/commits/8771f3c27c1fb73b4b1a21cf706f6d81819b9f41

    【讨论】:

      猜你喜欢
      • 2021-05-28
      • 1970-01-01
      • 2021-10-28
      • 2021-12-27
      • 1970-01-01
      • 2018-04-23
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多