summaryrefslogtreecommitdiffstats
path: root/models/migrate.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/migrate.go')
-rw-r--r--models/migrate.go27
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
+}