我正在尝试执行以下操作:
每次执行都是不同的,因此collection->执行是一对多映射。
type Collection struct {
ID int
CollectionName string gorm:"primary_key"
CommitHash string gorm:"primary_key"
Executions []Execution
}
type Execution struct {
TimeStamp time.Time
SubDomain string
CollectionID int
}
这是主要的
db.AutoMigrate(&Collection{}, &Execution{})
execution := Execution{
TimeStamp: time.Now(),
SubDomain: "dev"}
db.Create(&execution)
collection := Collection{
CollectionName: "Testing.json",
CommitHash: "123456",
Executions: []Execution{execution}}
db.FirstOrCreate(&collection)
收集的当前结果很好-如果重复,则不会创建新记录。但是执行记录正在为collection_id列生成全0。
执行3次后,结果将如下所示:
id time_stamp subdomain collection_id
1 2018-07-31 00:18:42.341261+00 dev 1
2 2018-07-31 00:19:03.779787+00 dev 0
3 2018-07-31 00:19:15.626205+00 dev 0
而收集表中只有一条1 Testing.json 123456
记录。
如何正确地将collection_id映射回去?