2016-04-07 3 views
2

У меня есть следующая модель ...Как вы делаете UUID в Golangs Gorm?

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: relation "users" does not exist). У меня нет связанных моделей, это буквально только одна модель.

Я попытался с помощью ...

func (user *User) BeforeCreate(scope *gorm.Scope) error { 
    scope.SetColumn("ID", uuid.NewV4()) 
    return nil 
} 

Наряду с UUID Lib, но не везло с этим тоже.

+0

Это кажется, что ваши пользователи таблицы в базе данных не существует. Вы его автоматизировали? – Apin

ответ

0

Ошибка (pq: relation "users" does not exist) обычно означает, что столusers в базе данных не существует. Это не имеет никакого отношения к отношениям между двумя моделями.

Итак, сначала вам нужно создать таблицу в базе данных (или автоматическая миграция базы данных. По подсказке @Apin). И попробуйте повторно запустить тот же код.

2

Оказывается, я пытался сохранить UUID как неправильный тип, я делал ...

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 
} 
+0

Вы должны использовать 'refurn scope.SetColumn (« ID », uuid.NewV4(). String())' вместо игнорирования результата для 'SetColumn' – Artmann

 Смежные вопросы

  • Нет связанных вопросов^_^