标签列表
常用标签
标签 | 说明 |
---|
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标签使用;分隔