go-zero: sqlx 对timestamp 格式数据问题

1.问题背景

对于goctl自动生成的model代码文件,对于非null的时间数据列,一定会产生如下问题

复制代码
deleted_at\": unsupported Scan, storing driver.Value type \u003cnil\u003e into type *time.Time" 

例如以上的问题,不论是插入还是删除部分。

由于本人暂时无法解决根本上的问题,于是采取以下方法。

2.暂时的解决方案

2.1 sql文件的修改

本人使用的sql文件,进行自动生成model代码文件的增删改查,对于时间列的处理如下,让mysql自动插入和更新数据列。

2.2 对于生成的 xxx_gen.go 文件修改

原来的代码

修改后的代码

可以看到更改的后缀为rows的字符,由于主键查找或者是需要回表查找的部分,sql查询语句都和这个有关,所以考虑把更新和创建时间的列排除在外,避免导致问题的发生。

model数据结构的变动

将数据部分的创建时间列和更新时间列删除,使得数据赋值顺利进行。

这样子就不会产生bug,也可以顺利插入修改mysql数据了。

对于后续需要时间数据的部分,可以在gen后缀的文件中自定义方法,可以考虑引入orm进行数据解析获取。

3.参考链接

  1. 我是如何用go-zero 实现一个中台系统的 - jackluo - 博客园
相关推荐
全栈老石2 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_20 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip