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