beego——事務處理和命令模式
阿新 • • 發佈:2018-12-16
1.事務處理
ORM 可以簡單的進行事務操作。
o := NewOrm() err := o.Begin() // 事務處理過程 ... ... // 此過程中的所有使用 o Ormer 物件的查詢都在事務處理範圍內 if SomeError { err = o.Rollback() } else { err = o.Commit() }
2.命令模式
註冊模型與資料庫以後,呼叫 RunCommand 執行 orm 命令。
func main() { // orm.RegisterModel... // orm.RegisterDataBase... ... orm.RunCommand() }
go build main.go ./main orm # 直接執行可以顯示幫助 # 如果你的程式可以支援的話,直接執行 go run main.go orm 也是一樣的效果
自動建表
./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 後再建表
使用 -v
可以檢視執行的 sql 語句
在程式中直接呼叫自動建表:
// 資料庫別名 name := "default" // drop table 後再建表 force := true // 列印執行過程 verbose := true // 遇到錯誤立即返回 err := orm.RunSyncdb(name, force, verbose) if err != nil { fmt.Println(err) }
自動建表功能在非 force 模式下,是會自動建立新增加的欄位的。也會建立新增加的索引。
對於改動過的舊欄位,舊索引,需要使用者自行進行處理。
列印建表SQL
./main orm sqlall -h Usage of orm command: syncdb: -db="default": DataBase alias name
預設使用別名為 default 的資料庫