得到错误不支持的数据类型:&[]。这是 gorm 模型 + golang/jwt

你的问题

你好
,美好的一天

系统规格

  • 最新

  • 高纤

  • 窗户 11

  • postgres

我正在尝试运行 AutoMigrate 但出现错误,一切正常,但自上周以来,当我运行代码时出现以下错误。

2021/12/30 13:17:56 ←[35mC:/personal/projects/uni-blog/src/database/connect.go:43

←[0m←[31m[error] ←[0munsupported data type: &[]


2021/12/30 13:17:56 ←[35mC:/personal/projects/uni-blog/src/database/connect.go:43

←[0m←[31m[error] ←[0mfailed to parse value &models.Claims{RegisteredClaims:jwt.RegisteredClaims{Issuer:"", Subject:"", Audience:jwt.ClaimStrings(nil), ExpiresAt:<nil>, NotBefore:<nil>, IssuedAt:<nil>, ID:""}, ID:uuid.UUID{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, got error unsupported data type: &[]


2021/12/30 13:17:56 ←[35mC:/Users/raliq/go/pkg/mod/gorm.io/driver/postgres@v1.1.2/migrator.go:192

←[0m←[31m[error] ←[0munsupported data type: &[]


2021/12/30 13:17:56 ←[35mC:/Users/raliq/go/pkg/mod/gorm.io/driver/postgres@v1.1.2/migrator.go:167

←[0m←[31m[error] ←[0munsupported data type: &[]


2021/12/30 13:17:56 ←[35mC:/Users/raliq/go/pkg/mod/gorm.io/driver/postgres@v1.1.2/migrator.go:167

←[0m←[31m[error] ←[0mfailed to parse value &models.Claims{RegisteredClaims:jwt.RegisteredClaims{Issuer:"", Subject:"", Audience:jwt.ClaimStrings(nil), ExpiresAt:<nil>, NotBefore:<nil>, IssuedAt:<nil>, ID:""}, ID:uuid.UUID{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, got error unsupported data type: &[]


2021/12/30 13:17:56 ←[35mC:/Users/raliq/go/pkg/mod/gorm.io/driver/postgres@v1.1.2/migrator.go:167

←[0m←[31m[error] ←[0munsupported data type: &[]

Sorry couldn't migrate'...

Database connection was successful...

这是我的代码和出现问题的模型,因为它迁移了用户模型,然后卡在了声明中



蝴蝶不菲
浏览 523回答 1
1回答

慕妹3146593

没有为切片类型(即 []string)实现 Scanner/Valuer 接口。因此,您可以使用https://pkg.go.dev/github.com/lib/pq中的 pq.StringArray 类型,而不是 jwt.RegisteredClaims 结构中的 []string 类型。您可以使用具有相同字段但使用 pq.StringArray 类型而不是 []string 的自定义结构。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go