有谁知道为什么这个代码不能工作,以及如何解决它?
type Model struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
}
func (model *Model) BeforeCreate(tx *gorm.DB) (err error) {
model.ID = uuid.New()
return
}
type User struct {
Model
Name string
Email string `gorm:"primaryKey"`
Description string
AccountCredentials AccountCredentials `gorm:"foreignKey:Email,constraint:OnUpdate:CASCADE,onDelete:CASCADE"`
AccountVerification AccountVerification `gorm:"foreignKey:Email,constraint:OnUpdate:CASCADE,onDelete:CASCADE"`
}
type AccountCredentials struct {
Email string `gorm:"primaryKey"`
Password string
}
type AccountVerification struct {
Email string `gorm:"primaryKey"`
VerificationCode string
VerificationCodeTTL int64
IsVerified bool
CreatedAt time.Time `gorm:"autoCreateTime:true"`
}
当我自动迁移DB时:
db.AutoMigrate(&model.AccountCredentials{}, &model.AccountVerification{}, &model.User{})
我收到以下错误:
为struct pkg/Model找到无效的字段.用户的字段Account Credentials:为关系定义有效的外键或实现Valuer/Scanner接口