summaryrefslogtreecommitdiffstats
path: root/models/migrate.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2020-01-15 19:14:07 +0800
committerAntoine GIRARD <sapk@users.noreply.github.com>2020-01-15 12:14:07 +0100
commit2b3e931cde3e3d70b69202164f35fc6f2c609ade (patch)
treedd519a5741642dde99433028d0e7d0e9da7b67c9 /models/migrate.go
parent4e566df1c694e47908e59a6db163e5a98d144b83 (diff)
downloadgitea-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.go22
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