diff options
Diffstat (limited to 'models/migrate.go')
-rw-r--r-- | models/migrate.go | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/models/migrate.go b/models/migrate.go index fd28fd156f..28661527a6 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -4,7 +4,12 @@ package models -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/modules/structs" + + "xorm.io/builder" + "xorm.io/xorm" +) // InsertMilestones creates milestones of repository. func InsertMilestones(ms ...*Milestone) (err error) { @@ -202,3 +207,23 @@ func InsertReleases(rels ...*Release) error { return sess.Commit() } + +// UpdateReviewsMigrationsByType updates reviews' migrations information via given git service type and original id and poster id +func UpdateReviewsMigrationsByType(tp structs.GitServiceType, originalAuthorID string, posterID int64) error { + _, err := x.Table("review"). + Where(builder.In("issue_id", + builder.Select("issue.id"). + From("issue"). + InnerJoin("repository", "issue.repo_id = repository.id"). + Where(builder.Eq{ + "repository.original_service_type": tp, + }), + )). + And("review.original_author_id = ?", originalAuthorID). + Update(map[string]interface{}{ + "poster_id": posterID, + "original_author": "", + "original_author_id": 0, + }) + return err +} |