• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go利用beegoorm的数据库设计

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

比如利用 go web框架 beego中的orm 对象关系映射创建表
```go

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:"限制条件" 。那这些限制条件都有哪些呢?我在这里给大家列了一个表格。

|限制条件| 作用|
-----|--------
|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)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap