“消息”:“关系”用户“不存在”,golang

时间:2016-03-26 18:46:12

标签: postgresql go go-gorm

我有一个用Go编写的API,我有以下一组模型...... 类型User struct {     gorm.Model     ID字符串`sql:“type:varchar(36); primary key”`     名称字符串     密码字符串     电邮字串     内容[]内容     位置字符串     曲目[]曲目     头像字符串     BgImg字符串     艺术家[]艺术家 } 类型Artist struct {     gorm.Model     ID字符串`sql:“type:varchar(36); primary key”` } 类型Content struct {     gorm.Model     ID字符串`sql:“type:varchar(36); primary key”` } 类型Track struct {     gorm.Model     ID字符串`sql:“type:varchar(36); primary key”` } 在我的main.go文件中,我用...初始化我的数据库 。drivers.DB()CREATETABLE(安培; models.User {}) 。drivers.DB()CREATETABLE(安培; models.Artist {}) 。drivers.DB()CREATETABLE(安培; models.Content {}) 。drivers.DB()CREATETABLE(安培; models.Track {}) 但是我收到了错误...... {   “_信息”: {     “严重程度”:“错误”,     “代码”:“42P01”,     “消息”:“关系”用户“不存在”,     “细节”:“”,     “提示”:“”,     “位置”:“15”,     “InternalPosition”:“”,     “InternalQuery”:“”,     “哪里”:“”,     “架构”:“”,     “表”:“”,     “专栏”:“”,     “DataTypeName”:“”,     “约束”:“”,     “文件”:“parse_relation.c”,     “行”:“1159”,     “常规”:“parserOpenTable”   } }

1 个答案:

答案 0 :(得分:1)

我怀疑是因为ArtistContentTrack结构没有User的父引用,尽管User有 - 很多人提到他们。此外,嵌入式gorm.Model已经具有ID字段。

尝试:

type Artist struct {
    gorm.Model
    ID string `sql:"type:varchar(36);primary key"`
    UserID string `sql:"type:varchar(36)"`
}

type Content struct {
    gorm.Model
    ID string `sql:"type:varchar(36);primary key"`
    UserID string `sql:"type:varchar(36)"`
}

type Track struct {
    gorm.Model
    ID string `sql:"type:varchar(36);primary key"`
    UserID string `sql:"type:varchar(36)"`
}