由于 gorm v1 不支持批量插入,于是升级为 gorm v2,原本以为就简单的吧 Create 改为 CreateInBatches 就可以了。但是一直 panic。
大概能猜到是因为传入的数据是接口型的slice导致的,但是一直不知道该怎么改,网上搜了好久也没搜到相关的答案,最后在官方 issue 中看到了一个类似的问题(#3685),对应修改了下,终于可以了。
还是自己太菜了。。。
type I interface {
TableName() string
}
type A struct {
Data string `gorm:"column:data"`
}
func (A) TableName() string {
return "tb_A"
}
func main