beego——事务处理和命令模式
1.事务处理
ORM 可以简单的进行事务操作。
1 2 3 4 5 6 7 8 9 10 11 | o := NewOrm() err := o.Begin() // 事务处理过程 ... ... // 此过程中的所有使用 o Ormer 对象的查询都在事务处理范围内 if SomeError { err = o.Rollback() } else { err = o.Commit() } |
2.命令模式
注册模型与数据库以后,调用 RunCommand 执行 orm 命令。
1 2 3 4 5 6 | func main() { // orm.RegisterModel... // orm.RegisterDataBase... ... orm.RunCommand() } |
1 2 3 4 | go build main. go ./main orm # 直接执行可以显示帮助 # 如果你的程序可以支持的话,直接运行 go run main.go orm 也是一样的效果 |
自动建表
1 2 3 4 5 | ./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 语句
在程序中直接调用自动建表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // 数据库别名 name := "default" // drop table 后再建表 force := true // 打印执行过程 verbose := true // 遇到错误立即返回 err := orm.RunSyncdb(name, force, verbose) if err != nil { fmt.Println(err) } |
自动建表功能在非 force 模式下,是会自动创建新增加的字段的。也会创建新增加的索引。
对于改动过的旧字段,旧索引,需要用户自行进行处理。
打印建表SQL
1 2 3 | ./main orm sqlall -h Usage of orm command: syncdb: -db= "default" : DataBase alias name |
默认使用别名为 default 的数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2017-12-16 API的理解和使用——哈希类型的命令
2017-12-16 API的理解和使用——字符串的命令
2017-12-16 API的理解和使用——全局命令