go 利用beego orm的数据库设计

好比利用 go web框架 beego中的orm 对象关系映射建立表git

type Article struct {
	Id          int       `orm:"pk;auto"`
	ArticleName string    `orm:"size(20)"`
	Atime       time.Time `orm:"auto_now"`
	Acount      int       `orm:"default(0);null"`
	Acontent    string    `orm:"size(500)"`
	Aimg        string    `orm:"size(100)"`
}

由上面的代码能够看出,要给哪一个字段添加属性,须要在这个字段后面添加 ``括起来的内容,格式为 orm:“限制条件” 。那这些限制条件都有哪些呢?我在这里给你们列了一个表格。web

限制条件 做用
pk 设置该字段为主键
auto 这只该字段自增,可是要求该字段必须为整型
default(0) 设置该字段的默认值,须要注意字段类型和默认值类型一致
size(100) 设置该字段长度为100个字节,通常用来设置字符串类型
null 设置该字段容许为空,默认不容许为空
unique 设置该字段全局惟一
digits(12);decimals(4) 设置浮点数位数和精度。好比这个是说,浮点数总共12位,小数位为四位。
auto_now 针对时间类型字段,做用是保存数据的更新时间
auto_now_add 针对时间类型字段,做用是保存数据的添加时间

注意:当模型定义里没有主键时,符合int, int32, int64, uint, uint32, uint64 类型且名称为 Id 的 Field 将 被视为主键,可以自增. "
Mysql中时间类型有date和datetime两种类型,可是咱们go里面只有time.time一种类型,若是项目里面要求 精确的话,就须要指定类型,指定类型用的是type(date)或者type(datetime)sql

相关文章
相关标签/搜索