您如何在Golangs Gorm中进行UUID? [英] How do you do UUID in Golangs Gorm?
本文介绍了您如何在Golangs Gorm中进行UUID?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下型号...
type User struct {
ID string `sql:"type:uuid;primary_key;default:uuid_generate_v4()"`
FirstName string `form:"first_name" json:"first_name,omitempty"`
LastName string `form:"last_name" json:"last_name,omitempty"`
Password string `form:"password" json:"password" bindind:"required"`
Email string `gorm:"type:varchar(110);unique_index" form:"email" json:"email,omitempty" binding:"required"`
Location string `form:"location" json:"location,omitempty"`
Avatar string `form:"avatar" json:"avatar,omitempty"`
BgImg string `form:"bg_img" json:"bg_img,omitempty"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt time.Time
}
我尝试了几种不同的方式,但是这种方式会抛出(pq:关系用户"不存在)
.我没有相关的模型,实际上只是一个模型.
I've tried several different ways, but this way throws (pq: relation "users" does not exist)
. I have no related models, it's literally just that one model.
我尝试使用...
func (user *User) BeforeCreate(scope *gorm.Scope) error {
scope.SetColumn("ID", uuid.NewV4())
return nil
}
带有一个uuid lib,但也没有运气.
Along with a uuid lib, but had no luck with that either.
推荐答案
原来,我正在尝试将UUID存储为错误的类型,我在这样做...
Turns out I was trying to store the UUID as the wrong type, I was doing...
func (user *User) BeforeCreate(scope *gorm.Scope) error {
scope.SetColumn("ID", uuid.NewV4())
return nil
}
何时需要...
func (user *User) BeforeCreate(scope *gorm.Scope) error {
scope.SetColumn("ID", uuid.NewV4().String())
return nil
}
这篇关于您如何在Golangs Gorm中进行UUID?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文