ORM 能夠簡單的進行事務操做。sql
o := NewOrm() err := o.Begin() // 事務處理過程 ... ... // 此過程當中的全部使用 o Ormer 對象的查詢都在事務處理範圍內 if SomeError { err = o.Rollback() } else { err = o.Commit() }
註冊模型與數據庫之後,調用 RunCommand 執行 orm 命令。數據庫
func main() { // orm.RegisterModel... // orm.RegisterDataBase... ... orm.RunCommand() }
go build main.go ./main orm # 直接執行能夠顯示幫助 # 若是你的程序能夠支持的話,直接運行 go run main.go orm 也是同樣的效果
自動建表ui
./main orm syncdb -h Usage of orm command: syncdb: -db="default": DataBase alias name -force=false: drop tables before create -v=false: verbose info
使用 -force=1
能夠 drop table 後再建表code
使用 -v
能夠查看執行的 sql 語句orm
在程序中直接調用自動建表:對象
// 數據庫別名 name := "default" // drop table 後再建表 force := true // 打印執行過程 verbose := true // 遇到錯誤當即返回 err := orm.RunSyncdb(name, force, verbose) if err != nil { fmt.Println(err) }
自動建表功能在非 force 模式下,是會自動建立新增長的字段的。也會建立新增長的索引。blog
對於改動過的舊字段,舊索引,須要用戶自行進行處理。索引
打印建表SQL事務
./main orm sqlall -h Usage of orm command: syncdb: -db="default": DataBase alias name
默認使用別名爲 default 的數據庫it