beego框架之 orm模型
go语言web框架中 orm使用结构体来定义
beego orm
type User struct { Id int `orm:"column(id);pk"` Name string `orm:"column(username);unique;size(16)"` Password string `orm:"sizs(16);unique"` Avatar string `orm:"default(/static/avatar/default.jpg)"` } 定义字段 定义类型 定义属性
beego orm字段的属性参数
pk
设置为主键,适用于自定义其他类型为主键
auto
当 Field 类型为 int, int32, int64, uint, uint32, uint64 时,可以设置字段为自增健
- 当模型定义里没有主键时,符合上述类型且名称为
Id
的 Field 将被视为自增健。
null
数据库表默认为 NOT NULL
,设置 null 代表 ALLOW NULL
index
为单个字段增加索引
unique
为单个字段增加 unique(唯一索引) 键
column
为字段设置 db 字段的名称
size
string 类型字段默认为 varchar(255)
设置 size 以后,db type 将使用 varchar(size)
digits / decimals
设置 float32, float64 类型的浮点精度
auto_now / auto_now_add
- auto_now 每次 model 保存时都会对时间自动更新
- auto_now_add 第一次保存时才设置时间
type
设置为 date 时,time.Time 字段的对应 db 类型使用 date
default
为字段设置默认值,类型必须符合(目前仅用于级联删除时的默认值)