diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2020-01-15 19:14:07 +0800 |
---|---|---|
committer | Antoine GIRARD <sapk@users.noreply.github.com> | 2020-01-15 12:14:07 +0100 |
commit | 2b3e931cde3e3d70b69202164f35fc6f2c609ade (patch) | |
tree | dd519a5741642dde99433028d0e7d0e9da7b67c9 /models/migrate.go | |
parent | 4e566df1c694e47908e59a6db163e5a98d144b83 (diff) | |
download | gitea-2b3e931cde3e3d70b69202164f35fc6f2c609ade.tar.gz gitea-2b3e931cde3e3d70b69202164f35fc6f2c609ade.zip |
Migrate reactions when migrating repository from github (#9599)
* Migrate reactions when migrating repository from github
* fix missed sleep
* fix tests
* update reactions when external user binding
* Fix test
* fix tests
* change the copy head
* fix test
* fix migrator add/delete reaction
Diffstat (limited to 'models/migrate.go')
-rw-r--r-- | models/migrate.go | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/models/migrate.go b/models/migrate.go index 53838fd65e..fd28fd156f 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -63,6 +63,13 @@ func insertIssue(sess *xorm.Session, issue *Issue) error { return err } + for _, reaction := range issue.Reactions { + reaction.IssueID = issue.ID + } + if _, err := sess.Insert(issue.Reactions); err != nil { + return err + } + cols := make([]string, 0) if !issue.IsPull { sess.ID(issue.RepoID).Incr("num_issues") @@ -130,9 +137,20 @@ func InsertIssueComments(comments []*Comment) error { if err := sess.Begin(); err != nil { return err } - if _, err := sess.NoAutoTime().Insert(comments); err != nil { - return err + for _, comment := range comments { + if _, err := sess.NoAutoTime().Insert(comment); err != nil { + return err + } + + for _, reaction := range comment.Reactions { + reaction.IssueID = comment.IssueID + reaction.CommentID = comment.ID + } + if _, err := sess.Insert(comment.Reactions); err != nil { + return err + } } + for issueID := range issueIDs { if _, err := sess.Exec("UPDATE issue set num_comments = (SELECT count(*) FROM comment WHERE issue_id = ?) WHERE id = ?", issueID, issueID); err != nil { return err |