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
為字段設置默認值,類型必須符合(目前僅用於級聯刪除時的默認值)