我的目标是存档与Gorm的“有很多”关系我不想有任何生成的ID,所以我故意不使用gorm。我的结构中的模型我设置了我的两个结构,例如:type Application struct { Name string `json:"name" gorm:"primaryKey"` Description string `json:"description"` Translations []Translation `json:"titles" gorm:"foreignKey:ApplicationName;references:Name"`}type Translation struct { ApplicationName string `json:"applicationName" gorm:"primaryKey"` Locale string `json:"locale" gorm:"primaryKey"` Value string `json:"value"`}翻译.应用程序名称应为应用程序的外键(翻译应用程序名称 + 翻译区域设置)翻译的主键创建应用程序后{ "name" : "postedApplication1", "description" : "postedDescription3", "titles" : [ { "locale": "de-DE", "value":"deutsch" }, { "locale": "de-AT", "value":"AT" } ]}我收到以下错误冲突时子句与任何主键或唯一约束 [0.065ms] [行数:0] 插入到 (,,) 值中(“已发布的应用程序 1”,“de-DE”、“德语”),(“已发布的应用程序 1”、“de-AT”、“AT”) 发生冲突时 (,) 执行更新集 =。translationsapplication_namelocalevalueapplication_namelocaleapplication_nameexcludedapplication_name和ON 冲突子句与任何主键或唯一约束都不匹配 [0.531ms] [行数:0] 更新集 =“已发布说明3” 其中 = “已发布的应用程序1” [GIN] 2021/08/27 - 11:23:00 |200|841.953μs |127.0.0.1 |开机自检“/应用程序”applicationsdescriptionname有人知道我做错了什么
1 回答
偶然的你
TA贡献1841条经验 获得超3个赞
解决了问题。X,p
一切都是正确的!
在我安装了 vscode-sqlite 并检查了数据库之后,我才发现 sqlite 表不像我设计的表
问题是自动迁移由于在开发过程中发生了很多变化而产生了无效状态
database.AutoMigrate(&models.Application{}, &models.Translation{})
我不得不删除 sqlite “gorm.db” 文件并重新启动应用程序
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消