Browse Source

[BugFix] remove nil inserts in models (#11096)

* Fix InsertReleases Nil Insert on Attachments

* FIX "No element on slice when insert" & smal refactor

* again

* impruve

* rm useles newline

* Apply suggestions from code review

Co-Authored-By: zeripath <art27@cantab.net>

* process insert as a whole

Co-authored-by: zeripath <art27@cantab.net>
master
6543 GitHub 5 years ago
parent
commit
12960b9d18
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 17 deletions
  1. +20
    -11
      models/migrate.go
  2. +12
    -6
      modules/migrations/gitea.go

+ 20
- 11
models/migrate.go View File

@@ -64,15 +64,20 @@ func insertIssue(sess *xorm.Session, issue *Issue) error {
}) })
labelIDs = append(labelIDs, label.ID) 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 { for _, reaction := range issue.Reactions {
reaction.IssueID = issue.ID 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) cols := make([]string, 0)
@@ -151,8 +156,10 @@ func InsertIssueComments(comments []*Comment) error {
reaction.IssueID = comment.IssueID reaction.IssueID = comment.IssueID
reaction.CommentID = comment.ID 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
}
} }
} }


@@ -196,12 +203,14 @@ func InsertReleases(rels ...*Release) error {
return err return err
} }


for i := 0; i < len(rel.Attachments); i++ {
rel.Attachments[i].ReleaseID = rel.ID
}
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
if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil {
return err
}
} }
} }




+ 12
- 6
modules/migrations/gitea.go View File

@@ -393,13 +393,16 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
iss = append(iss, &is) iss = append(iss, &is)
} }


err := models.InsertIssues(iss...)
if err != nil {
return err
}
for _, is := range iss {
g.issues.Store(is.Index, is.ID)
if len(iss) > 0 {
if err := models.InsertIssues(iss...); err != nil {
return err
}

for _, is := range iss {
g.issues.Store(is.Index, is.ID)
}
} }

return nil return nil
} }


@@ -478,6 +481,9 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
cms = append(cms, &cm) cms = append(cms, &cm)
} }


if len(cms) == 0 {
return nil
}
return models.InsertIssueComments(cms) return models.InsertIssueComments(cms)
} }




Loading…
Cancel
Save