Gorm框架-模型定义
小于 1 分钟
模型定义
定义一张表
type Student struct {
ID uint // 默认使用ID作为主键
Name string
Email *string // 使用指针是为了存空值
}
常识:小写属性是不会生成字段的
生成表结构
func main() {
// 可以放多个
Db.Debug().AutoMigrate(Students{})
}
AutoMigrate
的逻辑是只新增,不删除,不修改(大小会修改)
例如将Name修改为Name1,进行迁移,会多出一个name1的字段
修改大小
// 第一种
Name string `gorm:"type:varchar(12)"`
// 第二种
Name string `gorm:"size:2"`
字段标签
type
定义字段类型
size
定义字段大小
column
自定义列名
primaryKey
将列定义为主键
unique
将列定义为唯一键
default
定义列的默认值
not null
不可为空
embedded
嵌套字段
embeddedPrefix
嵌套字段前缀
comment
注释
多个标签之前用 ;
连接