cannot use column (type Column) as type gorm.ColumnType in append

博客讲述了在使用Go语言开发时遇到gorm.io库中postgres和sqlserver驱动的版本bug,导致编译错误。具体表现为接口不匹配的问题。作者发现这可能是由于casbin依赖了未使用的postgres和sqlserver包,但实际上项目使用的是mysql。解决方案是升级gorm.io/driver/postgres到v1.3.1和gorm.io/driver/sqlserver到v1.3.1,但升级后仍然报错。文章反映了Go依赖管理中可能存在的问题。

golang 运行时报错:

# gorm.io/driver/postgres
C:\Users\Administrator\go\pkg\mod\gorm.io\driver\postgres@v1.2.2\migrator.go:337:24: cannot use column (type Column) as type gorm.ColumnType in append:
        Column does not implement gorm.ColumnType (missing AutoIncrement method)
# gorm.io/driver/sqlserver
C:\Users\Administrator\go\pkg\mod\gorm.io\driver\sqlserver@v1.2.1\create.go:55:33: not enough arguments in call to field.ValueOf
        have (reflect.Value)
        want (context.Context, reflect.Value)
C:\Users\Administrator\go\pkg\mod\gorm.io\driver\sqlserver@v1.2.1\create.go:61:35: not enough arguments in call to field.ValueOf
        have (reflect.Value)
        want (context.Context, reflect.Value)

其实时casbinv2依赖了postgres和sqlserver包,实际上它也仅仅是判断了一下DB的类型,没真正用上,因为我用的是mysql呀。

但是很傻逼,他就会报错,查了一圈,其实是版本bug:

	gorm.io/driver/postgres v1.2.2 // indirect
	gorm.io/driver/sqlserver v1.2.1 // indirect

这里两个版本会由bug
升级一下:

	gorm.io/driver/postgres v1.3.1 // indirect
	gorm.io/driver/sqlserver v1.3.1 // indirect

升级了就报错了,好像第二次遇到go的依赖有这些bug了

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsjweiyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值