나는 Golang을 처음 접했고 Gorm에게 더 많은 것을 알렸다. 나는 일대 다 (one-to-many) 관계를 유지하려고 노력하고있다. 기본적으로 하나의 티커 심볼과 그의 많은 티커 데이터가 있습니다. 모든 것이 잘 작동합니다. 단, 모델에 관계를 구축 할 수 없다는 점을 제외하고는. 나는 그 일을하는 방법에 대한 약간의 힌트가 필요하다 (모범 사례 환영). 그것은 자신의 파일 및 패키지Gorm and relationships
main.go
package main
import (
"github.com/jinzhu/gorm"
"github.com/khwerhahn/quoteworker/common"
"github.com/khwerhahn/quoteworker/tickerdata"
"github.com/khwerhahn/quoteworker/ticker"
)
// Migrate database
func Migrate(db *gorm.DB) {
ticker.AutoMigrate()
tickerdata.AutoMigrate()
}
func main() {
db := common.Init()
Migrate(db)
defer db.Close()
//// more code....
}
살고있다. 그것에 시세에 대한 model.go
것은
package ticker
import (
"github.com/jinzhu/gorm"
"github.com/khwerhahn/quoteworker/common"
)
type TickerModel struct {
gorm.Model
Name string `gorm:"column:name;unique_index"`
Symbol string `gorm:"column:symbol;unique_index"`
}
// AutoMigrate the schema of database if needed
func AutoMigrate() {
db := common.GetDB()
db.AutoMigrate(&TickerModel{})
}
삶 자체 파일 및 패키지. tickerdata
package tickerdata
import (
"github.com/jinzhu/gorm"
"github.com/khwerhahn/quoteworker/common"
"github.com/khwerhahn/quoteworker/ticker"
)
type TickerDataModel struct {
gorm.Model
Rank int `gorm:"column:rank"`
// left out some stuff....
TickerModel ticker.TickerModel
TickerModelID uint `gorm:"column:tickerId"`
}
// AutoMigrate the schema of database if needed
func AutoMigrate() {
db := common.GetDB()
db.AutoMigrate(&TickerDataModel{})
}
들으