Lance Add

Results 27 comments of Lance Add

虽然不知道你的项目具体情况,我按照`goframe`推荐的项目结果,一般的准备工作会放在`/internal/boot`中,按顺序初始化一些东西例如`nacosAdapter`然后在`/internal/cmd`中置顶`import ( _ "xxxx/internal/boot" )`然后再去`import`需要依赖上一阶段结果的下一阶段依赖

用Raw方法创建model如果传入的sql是个带where+order by+group by的完整sql,然后又调用了where,gdb没法往里面加你where进去的条件,你还是直接这么写吧 ```golang getBasicUserSql := ` SELECT wf.user_id, .... FROM .... WHERE wf.user_id = ? ` items := []*PersonBasicInfoListItem{} err = platDb.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {...

我的建议是不要为了“看起来像数据库字段”而牺牲 Go 语言的命名规范和工程实践。结构体是给 Go 程序员看的,不是给数据库看的。开发者关心的是语义,不是拼写形式。换成`updated_at`这种我觉得更合适,当然如果你的使用场景确实只能像你说的那么做,那就直接fork一下然后改一下gen内部用吧,也确实有时候会遇到一些很离谱的现实情况

> > 我的建议是不要为了“看起来像数据库字段”而牺牲 Go 语言的命名规范和工程实践。结构体是给 Go 程序员看的,不是给数据库看的。开发者关心的是语义,不是拼写形式。换成`updated_at`这种我觉得更合适,当然如果你的使用场景确实只能像你说的那么做,那就直接fork一下然后改一下gen内部用吧,也确实有时候会遇到一些很离谱的现实情况 > > 就是为了尊重工程实践,我才搞模型生成,但是有些同事设计的表实在是变态,另外fork改动一下这个路子能解决问题,但是后续升级就不方便了。 还是尝试说服同事改一下表字段吧,毕竟大部分项目里一张表同时出现`updateTime`和`update_time`的时候按理说review的哥们应该开始骂人了,你要是实在想要可以提个PR试一下看看会不会合并

想要和标准库的`json`包序列化结果一致就是用`gjson.MustEncodeString()`

如果你是使用`goland`这个IDE,你可以先新建一个`Shell Script`的`Run/Debug Config`,调用的`shell script`内容是 ```shell go mod tidy true>internal/packed/build_pack_data.go gf pack config,resource internal/packed/build_pack_data.go ``` 然后在你项目运行的`Run/Debug Config`里设置`Before launch`选择你之前新建的那个`Run/Debug Config`就可以了,这样每次运行都会先重新打包你的静态资源