Skip to content

Commit 6f261fd

Browse files
authored
Add unique constraint back into issue_index (#16938)
There is a flaw in #16820 where it was missed that although xorm will not add a primary key to a table during syncing, it will remove an unique constraint. Users upgrading from 1.15.0 to 1.15.1 will therefore lose the unique constraint that makes this table work unless they run `gitea doctor recreate-table issue_index`. Postgres helpfully warns about this situation but MySQL does not. Main/1.16-dev is not affected by this issue as there is a migration that does the above recreation by default. Users moving directly to 1.15.1 from 1.14.x or lower are also not affected. Whilst we could force all users who ran 1.15.0 to do the above recreate-table call, this PR proposes an alternative: Just add the unique constraint back in for 1.15.x. This won't have any long term effects - just some wasted space for the unnecessary index. Fix #16936 Signed-off-by: Andrew Thornton <[email protected]>
1 parent 3365611 commit 6f261fd

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

models/index.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
// ResourceIndex represents a resource index which could be used as issue/release and others
1515
// We can create different tables i.e. issue_index, release_index and etc.
1616
type ResourceIndex struct {
17-
GroupID int64 `xorm:"pk"`
17+
GroupID int64 `xorm:"pk unique"`
1818
MaxIndex int64 `xorm:"index"`
1919
}
2020

0 commit comments

Comments
 (0)