Your Question

每次数据库表有更新字段属性或者新增字段的时候,需要重新生成model和query。 使用gorm gen这个包如何实现部分增量更新,而不是把表结构拿到后全量重新生成。 因为有时候表结构不一定是受开发者控制(dba管理表结构),我们只能说针对代码中新增字段进行增量生成代码。由于表结构不一定能拿到最新的(即使拿到最新表结构全量重新生成gen的代码也感觉代码改动较大),并且也避免不对称信息,我们尽量只增量的改动代码

The document you expected this should be explained

Expected answer

能否实现通过新增sql的执行,进行增量的生成代码在原有的已生成的model结构体基础上。

例如之前已经生成了一个user表对应的model结构体(此处示例省略gorm标签内容)。 type User struct{ ID uint64 gorm:.. Name string gorm:... Email string gorm:.. }

本次新增字段version,执行sql: ALTER TABLE user ADD COLUMN version INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '版本号'

能否基于这个新增的sql命令以及之前已存在的User结构体。来进行增量的gen生成代码到这个user结构体上,同时也增量生成对应的query包的代码内容。

type User struct{ ID uint64 gorm:.. Name string gorm:... Email string gorm:.. Version int32 gorm... // 本次增量生成,其他字段都不改动 }

求大佬支持~感激~

Comment From: game1991

提问放到gen这个项目下了~辛苦大佬解决~这里的issue暂时关闭掉

移步至: https://github.com/go-gorm/gen/issues/1050