diff options
Diffstat (limited to 'models/migrations/v1_12/v139.go')
-rw-r--r-- | models/migrations/v1_12/v139.go | 27 |
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 +} |