go-admin 打印sql语句并提前发现参数错误
go-admin 使用的是此款
引入了 gin 引擎。
准备好环境后,准备一键curd 创建表mingyun
控制台 terminal
生成mingyun.go 放入tables目录 并配置 tables.go
var Generators = map[string]table.Generator{ “blog_article”: GetBlogArticleTable, “blog_auth”: GetBlogAuthTable, “blog_tag”: GetBlogTagTable, “mingyun”: GetMingyunTable,
// generators end }
后台创建菜单创建 必须为info 这块早晚要改。。
mingyun.go 中 增加 新建提交表单内容
非常完美的报错。。。麻蛋实在不知道哪错了。。我知道是sql错了。。但是sql哪错了。。拼接sql什么样子。。打开mysql全量日志,也不知道sql为何错误。。难道我用了关键字。。不应该啊。。
经过debug。。。知道原来新建的addfield中 field 值 Age、Shit 与 数据库中age、shit 不匹配 大小写问题。这个小小问题,将来要快速生成代码就是大问题,排查太坑爹。
于是。。修改源码。。打印出来sql啊。。。希望打开的方式正确,毕竟官网根本没有任何帮助文档,论坛上也没有。 首先要去go modules中找: 修改这里statement.go 在执行sql时候增加 一个错误的返回
if err != nil {
err = errors.New("sql: "+sql.Statement+"| error:"+err.Error())
return 0, err
}
终于·sql以及错误都一览无余。
但是,归根揭底,我要快速生成curd,我的field就应该和我的表属性一一对应,为啥不早提醒我不对呢。。。所以进一步修改
default.go 文件
//增加一个额外的属性,防止确实需要提交一些额外的属性
if(field.OptionExt2!="EXT") {
panic("table columns cant find param -> "+ field.Field +" check form field " )
}
最终实现了,只要我打错了,就是提示我。
