私はGolangを初めて、さらにGormを迎えました。私は、1対多の関係を構築しようとしています。基本的に1つのティッカーシンボルと多くのティッカーデータがあります。私はモデル上で関係を得ることができないことを除いて、すべてうまく動作します。私はちょうどそれを行う方法について少しヒントが必要です(ベストプラクティス歓迎)。それ自身のファイルおよびパッケージで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{})
}
ため model.go
Thxを