所以我有两个不同的表:
type Service struct {
gorm.Model
UserID string `gorm:"type:uuid"`
Name string
}
type Artifact struct {
gorm.Model
UserID string `gorm:"type:uuid"`
}
字符串
还有其他类似的表,但主要的想法是,我想使关系,所以如果我删除一个服务,它会删除所有相关表中的条目。
我尝试向Service表添加一个foreignKey,如下所示:
type Service struct {
gorm.Model
UserID string `gorm:"type:uuid"`
Name string
Artifacts Artifacts `gorm:"foreignKey:UserID"`
}
型
但是这使得UserID从uuid类型变成了bigint类型。我如何确保类型仍然是uuid?
1条答案
按热度按时间fwzugrvs1#
如果您想定义一个关系,在删除Service示例的同时也删除其他表中的相关条目(例如,表等),则需要定义外键关系并配置级联删除行为。
你的代码应该是这样的:
字符串
要将UserID类型保留为uuid,您可以在创建外键时显式定义它。
型