package model import ( "time" "gorm.io/gorm" ) type User struct { ID string `json:"id" gorm:"primaryKey;size:32"` Email string `json:"email" gorm:"size:120;uniqueIndex;not null"` Name string `json:"name" gorm:"size:80;not null"` PasswordHash string `json:"-" gorm:"size:255;not null"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (User) TableName() string { return "users" } func (u *User) BeforeCreate(tx *gorm.DB) error { if u.ID == "" { u.ID = NewID() } return nil }