From f1a6af0ec5525c020ebeb9e2579561f9f6cdc050 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 16:57:28 +0200 Subject: [PATCH 1/7] Fix InsertReleases Nil Insert on Attachments --- models/migrate.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index ea4a8c1768720..929d9a8e75aa0 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -196,15 +196,13 @@ func InsertReleases(rels ...*Release) error { return err } - for i := 0; i < len(rel.Attachments); i++ { + for i, a := range rel.Attachments { rel.Attachments[i].ReleaseID = rel.ID - } - - if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { - return err + if _, err := sess.NoAutoTime().Insert(a); err != nil { + return err + } } } - return sess.Commit() } From b92887ee959e1a01e9355d89b745db660c67e41e Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 17:33:30 +0200 Subject: [PATCH 2/7] FIX "No element on slice when insert" & smal refactor --- models/migrate.go | 13 +++++++++---- modules/migrations/gitea.go | 7 +++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index 929d9a8e75aa0..d83726076c95c 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -64,15 +64,20 @@ func insertIssue(sess *xorm.Session, issue *Issue) error { }) labelIDs = append(labelIDs, label.ID) } - if _, err := sess.Insert(issueLabels); err != nil { - return err + if len(issueLabels) > 0 { + if _, err := sess.Insert(issueLabels); err != nil { + return err + } } for _, reaction := range issue.Reactions { reaction.IssueID = issue.ID } - if _, err := sess.Insert(issue.Reactions); err != nil { - return err + + if len(issue.Reactions) > 0 { + if _, err := sess.Insert(issue.Reactions); err != nil { + return err + } } cols := make([]string, 0) diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index a087cafe9d94a..7d2fc26bd8b32 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -393,11 +393,10 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { iss = append(iss, &is) } - err := models.InsertIssues(iss...) - if err != nil { - return err - } for _, is := range iss { + if err := models.InsertIssues(is); err != nil { + return err + } g.issues.Store(is.Index, is.ID) } return nil From 739daad9b2fe60b9437b1b5b4b4c5056dd52acac Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 17:51:05 +0200 Subject: [PATCH 3/7] again --- models/migrate.go | 6 ++++-- modules/migrations/gitea.go | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index d83726076c95c..eb0913f6a379d 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -156,8 +156,10 @@ func InsertIssueComments(comments []*Comment) error { reaction.IssueID = comment.IssueID reaction.CommentID = comment.ID } - if _, err := sess.Insert(comment.Reactions); err != nil { - return err + if len(comment.Reactions) != 0 { + if _, err := sess.Insert(comment.Reactions); err != nil { + return err + } } } diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index 7d2fc26bd8b32..895214ab1537a 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -404,6 +404,11 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { // CreateComments creates comments of issues func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { + + if len(comments) == 0 { + return nil + } + var cms = make([]*models.Comment, 0, len(comments)) for _, comment := range comments { var issueID int64 From e1bc75c457bdb3797c30129b1a3aa2850b415cfe Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 18:00:57 +0200 Subject: [PATCH 4/7] impruve --- models/migrate.go | 1 + modules/migrations/gitea.go | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index eb0913f6a379d..b274c3234db15 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -210,6 +210,7 @@ func InsertReleases(rels ...*Release) error { } } } + return sess.Commit() } diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index 895214ab1537a..4e4317f9b3e18 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -405,10 +405,6 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { // CreateComments creates comments of issues func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { - if len(comments) == 0 { - return nil - } - var cms = make([]*models.Comment, 0, len(comments)) for _, comment := range comments { var issueID int64 @@ -482,6 +478,9 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { cms = append(cms, &cm) } + if len(cms) == 0 { + return nil + } return models.InsertIssueComments(cms) } From 206c53173bbd8d49b41914e1906dec6cf284e660 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 19:13:26 +0200 Subject: [PATCH 5/7] rm useles newline --- modules/migrations/gitea.go | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index 4e4317f9b3e18..ed6a79e74697e 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -404,7 +404,6 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { // CreateComments creates comments of issues func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { - var cms = make([]*models.Comment, 0, len(comments)) for _, comment := range comments { var issueID int64 From 6e5d72ed8cef9a6ab2d79c6e0468d56e5647fbbf Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 21:38:20 +0200 Subject: [PATCH 6/7] Apply suggestions from code review Co-Authored-By: zeripath --- models/migrate.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/migrate.go b/models/migrate.go index b274c3234db15..907f8393b840d 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -156,7 +156,7 @@ func InsertIssueComments(comments []*Comment) error { reaction.IssueID = comment.IssueID reaction.CommentID = comment.ID } - if len(comment.Reactions) != 0 { + if len(comment.Reactions) > 0 { if _, err := sess.Insert(comment.Reactions); err != nil { return err } From 078a207c25db90e32c7fc11d4d147dbebe8e1007 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 16 Apr 2020 21:49:38 +0200 Subject: [PATCH 7/7] process insert as a whole --- models/migrate.go | 9 ++++++--- modules/migrations/gitea.go | 10 +++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index 907f8393b840d..2715c5bd9b01b 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -203,9 +203,12 @@ func InsertReleases(rels ...*Release) error { return err } - for i, a := range rel.Attachments { - rel.Attachments[i].ReleaseID = rel.ID - if _, err := sess.NoAutoTime().Insert(a); err != nil { + if len(rel.Attachments) > 0 { + for i := range rel.Attachments { + rel.Attachments[i].ReleaseID = rel.ID + } + + if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { return err } } diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index ed6a79e74697e..8da1bd4683a66 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -393,12 +393,16 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { iss = append(iss, &is) } - for _, is := range iss { - if err := models.InsertIssues(is); err != nil { + if len(iss) > 0 { + if err := models.InsertIssues(iss...); err != nil { return err } - g.issues.Store(is.Index, is.ID) + + for _, is := range iss { + g.issues.Store(is.Index, is.ID) + } } + return nil }