IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天编程网给大家整理了《GORM 中列出列类型?》,聊聊,我们一起来看看吧!
问题内容type Competition struct {
ID uint64 `gorm:"primaryKey;autoIncrement"`
UserID uint64
Title string `gorm:"size:100;not null" validate:"required,min=10,max=100"`
Description string `gorm:"size:5000;not null" validate:"required,min=100,max=5000"`
Latitude float64 `gorm:"not null" validate:"required"`
Longitude float64 `gorm:"not null" validate:"required"`
Address string `gorm:"size:1000;not null" validate:"required,max=1000"`
StartingDate string `gorm:"not null" validate:"required,min=10,max=10"`
StartingTime string `gorm:"not null" validate:"required,min=5,max=5"`
EndingTime string
Images []string
CreatedAt uint64 `gorm:"autoCreateTime"`
UpdatedAt uint64 `gorm:"autoUpdateTime:milli"`
// relationships
Users []*User `gorm:"many2many:participant;"`
}
我正在使用 postgresql,需要添加列表数据类型列,但 []string 不起作用,并且在将模型迁移到数据库时生成异常。
正确答案
正如 metalisticpain 通过帖子链接所述,您需要使用 pq.StringArray
类型的 postgres 才能工作
只需更改 images
字段如下
Images pq.StringArray `gorm:"type:text[]"`
不要忘记导入包含 pq.StringArray
实现的 github.com/lib/pq
库
并确保在插入数据时用 pq.Array
包装它
终于介绍完啦!小伙伴们,这篇关于《GORM 中列出列类型?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~编程网公众号也会发布Golang相关知识,快来关注吧!