为了账号安全,请及时绑定邮箱和手机立即绑定

未创建 GO GORM 外键约束

未创建 GO GORM 外键约束

Go
手掌心 2022-08-24 16:57:54
我在为关系创建外键约束时遇到问题。Belongs to包含外键的结构:type Summary struct {    Id          string  `gorm:"primaryKey"`    OwnerId     *string `gorm:"foreignKey:OwnerId references:Id;not null"`    Title       string}摘要所属的结构:type Owner struct {    Id        string `gorm:"primaryKey"`    Name      string}它可以毫无问题地在 SQL 中创建表,但 SQL 架构在列上的摘要表中不包含外键约束,因此当所有者不存在时,可以插入摘要。owner_id
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

你用的是什么版本的 gorm?如果您位于库的 v1 上,请尝试切换到 v2。我在使用库的 v1 时遇到了类似的问题。

v1 依赖项下载

go get -u github.com/jinzhu/gorm

v2 依赖项下载

go get -u gorm.io/gorm


查看完整回答
反对 回复 2022-08-24
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

在我看来,最终奏效但不是完美的解决方案是引用内部的结构,如下所示:OwnerSummary


type Summary struct {

    Id          string  `gorm:"primaryKey"`

    OwnerId     string 

    Owner       Owner   `gorm:"foreignKey:OwnerId"`

    Title       string

}

我想知道这是否是唯一的方法


查看完整回答
反对 回复 2022-08-24
  • 2 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信