aboutsummaryrefslogtreecommitdiffstats
path: root/models/migrations/v1_12/v139.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/migrations/v1_12/v139.go')
-rw-r--r--models/migrations/v1_12/v139.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/models/migrations/v1_12/v139.go b/models/migrations/v1_12/v139.go
new file mode 100644
index 0000000000..69daa94f98
--- /dev/null
+++ b/models/migrations/v1_12/v139.go
@@ -0,0 +1,27 @@
+// Copyright 2019 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package v1_12 //nolint
+
+import (
+ "code.gitea.io/gitea/modules/setting"
+
+ "xorm.io/xorm"
+)
+
+func PrependRefsHeadsToIssueRefs(x *xorm.Engine) error {
+ var query string
+
+ switch {
+ case setting.Database.UseMSSQL:
+ query = "UPDATE `issue` SET `ref` = 'refs/heads/' + `ref` WHERE `ref` IS NOT NULL AND `ref` <> '' AND `ref` NOT LIKE 'refs/%'"
+ case setting.Database.UseMySQL:
+ query = "UPDATE `issue` SET `ref` = CONCAT('refs/heads/', `ref`) WHERE `ref` IS NOT NULL AND `ref` <> '' AND `ref` NOT LIKE 'refs/%';"
+ default:
+ query = "UPDATE `issue` SET `ref` = 'refs/heads/' || `ref` WHERE `ref` IS NOT NULL AND `ref` <> '' AND `ref` NOT LIKE 'refs/%'"
+ }
+
+ _, err := x.Exec(query)
+ return err
+}