aboutsummaryrefslogtreecommitdiffstats
path: root/models/migrations
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-08-25 09:42:51 +0100
committerGitHub <noreply@github.com>2021-08-25 09:42:51 +0100
commit697213bdb35a745879145b1c9edc47552a05fe1b (patch)
treeeae4f43e080281060fb2bb8c57c7918f1099aeb3 /models/migrations
parente891d68dd71d9f61aa51a8fbf1e5d4fd3b9d76be (diff)
downloadgitea-697213bdb35a745879145b1c9edc47552a05fe1b.tar.gz
gitea-697213bdb35a745879145b1c9edc47552a05fe1b.zip
Add primary_key to issue_index (#16813)
Make the group_id a primary key in issue_index. This already has an unique index and therefore is a good candidate for becoming a primary key. This PR also changes all other uses of this table to add the group_id as the primary key. Fix #16802 Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'models/migrations')
-rw-r--r--models/migrations/migrations.go2
-rw-r--r--models/migrations/v182.go4
-rw-r--r--models/migrations/v182_test.go4
-rw-r--r--models/migrations/v192.go18
4 files changed, 24 insertions, 4 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go
index 89a60445bb..79b1e90ecd 100644
--- a/models/migrations/migrations.go
+++ b/models/migrations/migrations.go
@@ -336,6 +336,8 @@ var migrations = []Migration{
NewMigration("Add agit flow pull request support", addAgitFlowPullRequest),
// v191 -> v192
NewMigration("Alter issue/comment table TEXT fields to LONGTEXT", alterIssueAndCommentTextFieldsToLongText),
+ // v192 -> v193
+ NewMigration("RecreateIssueResourceIndexTable to have a primary key instead of an unique index", recreateIssueResourceIndexTable),
}
// GetCurrentDBVersion returns the current db version
diff --git a/models/migrations/v182.go b/models/migrations/v182.go
index dd9a04f27e..29c2d2654a 100644
--- a/models/migrations/v182.go
+++ b/models/migrations/v182.go
@@ -10,8 +10,8 @@ import (
func addIssueResourceIndexTable(x *xorm.Engine) error {
type ResourceIndex struct {
- GroupID int64 `xorm:"index unique(s)"`
- MaxIndex int64 `xorm:"index unique(s)"`
+ GroupID int64 `xorm:"pk"`
+ MaxIndex int64 `xorm:"index"`
}
sess := x.NewSession()
diff --git a/models/migrations/v182_test.go b/models/migrations/v182_test.go
index 6f418f7794..9fb371e078 100644
--- a/models/migrations/v182_test.go
+++ b/models/migrations/v182_test.go
@@ -33,8 +33,8 @@ func Test_addIssueResourceIndexTable(t *testing.T) {
}
type ResourceIndex struct {
- GroupID int64 `xorm:"index unique(s)"`
- MaxIndex int64 `xorm:"index unique(s)"`
+ GroupID int64 `xorm:"pk"`
+ MaxIndex int64 `xorm:"index"`
}
var start = 0
diff --git a/models/migrations/v192.go b/models/migrations/v192.go
new file mode 100644
index 0000000000..f436e93d62
--- /dev/null
+++ b/models/migrations/v192.go
@@ -0,0 +1,18 @@
+// Copyright 2021 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 migrations
+
+import (
+ "xorm.io/xorm"
+)
+
+func recreateIssueResourceIndexTable(x *xorm.Engine) error {
+ type IssueIndex struct {
+ GroupID int64 `xorm:"pk"`
+ MaxIndex int64 `xorm:"index"`
+ }
+
+ return RecreateTables(new(IssueIndex))(x)
+}