Gorm AutoMigrate重复创建唯一键及初始迁移报错问题求助
Gorm AutoMigrate重复创建唯一键及初始迁移报错问题求助
大家好,我最近在使用Gorm的AutoMigrate功能时碰到了两个棘手的问题,想请教下社区的各位大佬:
首先是初始迁移报错的问题,我定义了如下结构体:
type TestTable struct { ID uint `gorm:"unique;autoIncrement"` QuoteID uint `gorm:"primaryKey"` }
当我执行AutoMigrate的时候,直接报错:there can be only one auto column and it must be defined as a key。看报错信息是Gorm试图把两个列都设为自增,但我明明只给ID加了autoIncrement标签啊?这实在有点费解。
后来我把QuoteID的标签改成gorm:"primaryKey;autoIncrement:false",这个报错倒是解决了,迁移能正常执行了。但新的问题又来了——每次执行AutoMigrate,Gorm都会去修改这个表,重复创建唯一键,比如第一次是id_1,第二次变成id_2,第三次id_3,以此类推,这就导致数据库里的唯一键越来越多,完全不正常。
我已经翻遍了Gorm的官方文档,没找到相关的解决方案,实在没辙了,希望有遇到过类似问题的朋友能给点帮助!谢谢大家,祝大家一天愉快 :)
备注:内容来源于stack exchange,提问作者Placeblock
相关产品推荐
相关产品推荐

