構造体の定義
type Shop struct {
ID uint `json:"id" gorm:"primaryKey"`
ShopName string `json:"shopname" gorm:"not null"`
Place string `json:"place"`
Location float64 `json:"location"`
Price uint `json:"price"`
Tag string `json:"tag"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
User User `json:"user" gorm:"foreignKey:UserID; constraint:OnDelete:CASCADE"`
UserId uint `json:"userid"`
}
上記のコードのままmigrationを実行しようとしたら、エラーが出てDBと接続できませんでした。
原因はUserのフィールドで外部キーの記述の部分でタイポでした。。。情けない。。正しくは下記のように定義します。
正しい構造体の定義
type Shop struct {
ID uint `json:"id" gorm:"primaryKey"`
ShopName string `json:"shopname" gorm:"not null"`
Place string `json:"place"`
Location float64 `json:"location"`
Price uint `json:"price"`
Tag string `json:"tag"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
User User `json:"user" gorm:"foreignKey:UserID; constraint:OnDelete:CASCADE"`
UserID uint `json:"userid"`
}