Skip to content

Commit

Permalink
Add primary_key to issue_index (go-gitea#16813)
Browse files Browse the repository at this point in the history
Backport go-gitea#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.

The migration v192 from go-gitea#16813 has not been backported but Xorm will
work fine with non-primary keyed tables. If a user on 1.15 wishes to
have the correct schema sooner than 1.16 - they can use gitea doctor
recreate-table issue_index and gitea will recreate the table with the
primary key.

Fix go-gitea#16802

Signed-off-by: Andrew Thornton art27@cantab.net
  • Loading branch information
zeripath committed Aug 25, 2021
1 parent 63178b5 commit 9032be3
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion models/index.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
// ResourceIndex represents a resource index which could be used as issue/release and others
// We can create different tables i.e. issue_index, release_index and etc.
type ResourceIndex struct {
GroupID int64 `xorm:"unique"`
GroupID int64 `xorm:"pk"`
MaxIndex int64 `xorm:"index"`
}

Expand Down
4 changes: 2 additions & 2 deletions models/migrations/v182.go
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
4 changes: 2 additions & 2 deletions models/migrations/v182_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 9032be3

Please sign in to comment.