亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go遷移不會創建外鍵

Go遷移不會創建外鍵

Go
小怪獸愛吃肉 2023-06-26 16:58:15
我與 Go 的第一天。我嘗試在 Revel 中使用 GORM 開發一種遷移機制。這些是我的模型結構:type Role struct {    gorm.Model    Name string}type User struct {    gorm.Model    Name string    Role Role  `gorm:"foreignkey:RoleIdForRole;association_foreignkey:Id"`}我只是按如下方式自動遷移兩個結構,效果很好。我看到名為“用戶”和“角色”的表,但用戶表沒有字段“ role_id”或“roleID”db.AutoMigrate(&models.Role{})db.AutoMigrate(&models.User{})我缺少什么?
查看完整描述

2 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

您需要一RoleID列,如果您命名它,則不需要聲明其中foreignkey任何一個。


type User struct {

? ? gorm.Model

? ? Name? ?string

? ? RoleID int `gorm:"column:RoleIdForRole"`

? ? Role? ?Role

}


查看完整回答
反對 回復 2023-06-26
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

GORM 外鍵不是按照文檔中所述自動生成的。

但這有幫助:

db.Model(&models.User{}).AddForeignKey("role_id",?"roles(id)",?"RESTRICT",?"RESTRICT")

不久之后,您需要在遷移表后設置外鍵。


查看完整回答
反對 回復 2023-06-26
  • 2 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號