Backport #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 #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 #16802 Signed-off-by: Andrew Thornton art27@cantab.net
This commit is contained in:
		
							parent
							
								
									2148b27bfa
								
							
						
					
					
						commit
						695e8ae81d
					
				
					 3 changed files with 5 additions and 5 deletions
				
			
		|  | @ -14,7 +14,7 @@ import ( | ||||||
| // ResourceIndex represents a resource index which could be used as issue/release and others
 | // 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.
 | // We can create different tables i.e. issue_index, release_index and etc.
 | ||||||
| type ResourceIndex struct { | type ResourceIndex struct { | ||||||
| 	GroupID  int64 `xorm:"unique"` | 	GroupID  int64 `xorm:"pk"` | ||||||
| 	MaxIndex int64 `xorm:"index"` | 	MaxIndex int64 `xorm:"index"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -10,8 +10,8 @@ import ( | ||||||
| 
 | 
 | ||||||
| func addIssueResourceIndexTable(x *xorm.Engine) error { | func addIssueResourceIndexTable(x *xorm.Engine) error { | ||||||
| 	type ResourceIndex struct { | 	type ResourceIndex struct { | ||||||
| 		GroupID  int64 `xorm:"index unique(s)"` | 		GroupID  int64 `xorm:"pk"` | ||||||
| 		MaxIndex int64 `xorm:"index unique(s)"` | 		MaxIndex int64 `xorm:"index"` | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	sess := x.NewSession() | 	sess := x.NewSession() | ||||||
|  |  | ||||||
|  | @ -33,8 +33,8 @@ func Test_addIssueResourceIndexTable(t *testing.T) { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	type ResourceIndex struct { | 	type ResourceIndex struct { | ||||||
| 		GroupID  int64 `xorm:"index unique(s)"` | 		GroupID  int64 `xorm:"pk"` | ||||||
| 		MaxIndex int64 `xorm:"index unique(s)"` | 		MaxIndex int64 `xorm:"index"` | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var start = 0 | 	var start = 0 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue