我在项目中使用gorm作为ORM,我有一些与togethe相关的模型。但是迁移后,我发现数据库中没有任何关系!
这些是我的模特:
type User struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time `gorm: "primary_key"`
UpdatedAt time.Time
ArchivedAt time.Time
ReferenceId int `gorm:"primary_key"`
Thank []Thank `gorm: "foreignkey:ID"`
}
type Thank struct {
ID uint `gorm:"primary_key"`
CreatedAt string `gorm: "primary_key"`
UpdatedAt time.Time
ArchivedAt time.Time
ReferenceId int
CreatorId int `gorm:foreignkey:ReferenceId`
Description string `gorm:"type:varchar(200)"`
SentToUsers postgres.Jsonb
}
在迁移之后,我在感谢表中看不到creator_id列,在用户表中也没有感谢。
得到这个结果,可以在gorm中使用添加外键函数。就我而言,可以是:
db.Model(&Thank{}).AddForeignKey("creator_id", "users(reference_id)", "RESTRICT", "RESTRICT")
用于在数据库中的用户和感谢表之间添加关系。