当前位置: 首页 > 工具软件 > Go GORM > 使用案例 >

golang gorm结构标签

陆绍辉
2023-12-01

标签列表

常用标签

标签说明
Column指定列的名称
Type指定列的类型
Size指定列的大小,默认是 255
PRIMARY_KEY指定一个列作为主键
UNIQUE指定一个唯一的列
DEFAULT指定一个列的默认值
PRECISION指定列的数据的精度
NOT NULL指定列的数据不为空
AUTO_INCREMENT指定一个列的数据是否自增
INDEX创建带或不带名称的索引,同名创建复合索引
UNIQUE_INDEX创建一个唯一的索引
EMBEDDED将 struct 设置为 embedded
EMBEDDED_PREFIX设置嵌入式结构的前缀名称
-忽略这些字段

关联标签

标签说明
MANY2MANY指定连接表名称
FOREIGNKEY指定外键
ASSOCIATION_FOREIGNKEY指定关联外键
POLYMORPHIC指定多态类型
POLYMORPHIC_VALUE指定多态的值
JOINTABLE_FOREIGNKEY指定连接表的外键
ASSOCIATION_JOINTABLE_FOREIGNKEY指定连接表的关联外键
SAVE_ASSOCIATIONS是否自动保存关联
ASSOCIATION_AUTOUPDATE是否自动更新关联
ASSOCIATION_AUTOCREATE是否自动创建关联
ASSOCIATION_SAVE_REFERENCE是否引用自动保存的关联
PRELOAD是否自动预加载关联

例子

type Api struct {
	// 不同的标签使用;分隔,如comment(字段注释)和index(索引,索引名字:idx_id)标签
	Id int `json:"id" gorm:"comment:api id;index:idx_id"`
	// idx_search为Path和Method的复合索引
	Path string `gorm:"comment:api路径;index:idx_search"`
	// default表示此列的默认值
	Method string `gorm:"default:POST;index:idx_search"`
	// type可以指定列类型为varchar(500)
	Describe string `gorm:"type:varchar(500)"`
	// size指定列的大小是500,此时等同于varchar(500)
	Remark string `gorm:"size:500"`
	// not null非空;unique唯一;primary_key主键
	AuthorityId string `gorm:"not null;unique;primary_key"`
	// 忽略这个字段
	Children string `json:"children" gorm:"-"`
}

说明

  • json和gorm标签之前用空格分隔
  • 不同的gorm标签使用;分隔
 类似资料: