diff options
author | zeripath <art27@cantab.net> | 2021-08-25 09:42:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-25 09:42:51 +0100 |
commit | 697213bdb35a745879145b1c9edc47552a05fe1b (patch) | |
tree | eae4f43e080281060fb2bb8c57c7918f1099aeb3 /models/migrations | |
parent | e891d68dd71d9f61aa51a8fbf1e5d4fd3b9d76be (diff) | |
download | gitea-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.go | 2 | ||||
-rw-r--r-- | models/migrations/v182.go | 4 | ||||
-rw-r--r-- | models/migrations/v182_test.go | 4 | ||||
-rw-r--r-- | models/migrations/v192.go | 18 |
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) +} |