Skip to content

Commit 4ee8982

Browse files
lafrikslunny
authored andcommitted
Fix milestone completness calculation when migrating (#7725) (#7732)
1 parent 0d10482 commit 4ee8982

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

models/migrate.go

+16-4
Original file line numberDiff line numberDiff line change
@@ -62,38 +62,50 @@ func insertIssue(sess *xorm.Session, issue *Issue) error {
6262
if _, err := sess.Insert(issueLabels); err != nil {
6363
return err
6464
}
65+
66+
cols := make([]string, 0)
6567
if !issue.IsPull {
6668
sess.ID(issue.RepoID).Incr("num_issues")
69+
cols = append(cols, "num_issues")
6770
if issue.IsClosed {
6871
sess.Incr("num_closed_issues")
72+
cols = append(cols, "num_closed_issues")
6973
}
7074
} else {
7175
sess.ID(issue.RepoID).Incr("num_pulls")
76+
cols = append(cols, "num_pulls")
7277
if issue.IsClosed {
7378
sess.Incr("num_closed_pulls")
79+
cols = append(cols, "num_closed_pulls")
7480
}
7581
}
76-
if _, err := sess.NoAutoTime().Update(issue.Repo); err != nil {
82+
if _, err := sess.NoAutoTime().Cols(cols...).Update(issue.Repo); err != nil {
7783
return err
7884
}
7985

86+
cols = []string{"num_issues"}
8087
sess.Incr("num_issues")
8188
if issue.IsClosed {
8289
sess.Incr("num_closed_issues")
90+
cols = append(cols, "num_closed_issues")
8391
}
84-
if _, err := sess.In("id", labelIDs).NoAutoTime().Update(new(Label)); err != nil {
92+
if _, err := sess.In("id", labelIDs).NoAutoTime().Cols(cols...).Update(new(Label)); err != nil {
8593
return err
8694
}
8795

8896
if issue.MilestoneID > 0 {
97+
cols = []string{"num_issues"}
8998
sess.Incr("num_issues")
99+
cl := "num_closed_issues"
90100
if issue.IsClosed {
91101
sess.Incr("num_closed_issues")
102+
cols = append(cols, "num_closed_issues")
103+
cl = "(num_closed_issues + 1)"
92104
}
93105

94106
if _, err := sess.ID(issue.MilestoneID).
95-
SetExpr("completeness", "num_closed_issues * 100 / num_issues").
96-
NoAutoTime().
107+
SetExpr("completeness", cl+" * 100 / (num_issues + 1)").
108+
NoAutoTime().Cols(cols...).
97109
Update(new(Milestone)); err != nil {
98110
return err
99111
}

0 commit comments

Comments
 (0)