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,需要添加列表数据类型列,但[]字符串不起作用,在将模型迁移到数据库时生成异常。
正如metalsisticpain通过帖子链接所说,您需要使用pq.StringArray
类型的postgres才能使其工作
只需将Images
字段更改为以下
Images pq.StringArray `gorm:"type:text[]"`
不要忘记导入包含pq.StringArray
实现的github.com/lib/pq
库
确保插入数据时使用pq.Array
进行包装