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

相關文章
相關標籤/搜索