go-admin 打印sql语句并提前发现参数错误

go-admin 使用的是此款
http://doc.go-admin.cn/zh/

引入了 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 can't find param -> "+ field.Field +" check form field " )
			}

在这里插入图片描述
最终实现了,只要我打错了,就是提示我。


版权声明:本文为gufengbiaoying原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。