mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Check primary keys for all tables and drop ForeignReference (#21721)
Some dbs require that all tables have primary keys, see - #16802 - #21086 We can add a test to keep it from being broken again. Edit: ~Added missing primary key for `ForeignReference`~ Dropped the `ForeignReference` table to satisfy the check, so it closes #21086. More context can be found in comments. Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
		@@ -4,11 +4,9 @@
 | 
			
		||||
package models
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/foreignreference"
 | 
			
		||||
	issues_model "code.gitea.io/gitea/models/issues"
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/models/unittest"
 | 
			
		||||
@@ -48,7 +46,6 @@ func assertCreateIssues(t *testing.T, isPull bool) {
 | 
			
		||||
		UserID: owner.ID,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	foreignIndex := int64(12345)
 | 
			
		||||
	title := "issuetitle1"
 | 
			
		||||
	is := &issues_model.Issue{
 | 
			
		||||
		RepoID:      repo.ID,
 | 
			
		||||
@@ -62,20 +59,11 @@ func assertCreateIssues(t *testing.T, isPull bool) {
 | 
			
		||||
		IsClosed:    true,
 | 
			
		||||
		Labels:      []*issues_model.Label{label},
 | 
			
		||||
		Reactions:   []*issues_model.Reaction{reaction},
 | 
			
		||||
		ForeignReference: &foreignreference.ForeignReference{
 | 
			
		||||
			ForeignIndex: strconv.FormatInt(foreignIndex, 10),
 | 
			
		||||
			RepoID:       repo.ID,
 | 
			
		||||
			Type:         foreignreference.TypeIssue,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	err := InsertIssues(is)
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
 | 
			
		||||
	i := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{Title: title})
 | 
			
		||||
	assert.Nil(t, i.ForeignReference)
 | 
			
		||||
	err = i.LoadAttributes(db.DefaultContext)
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	assert.EqualValues(t, strconv.FormatInt(foreignIndex, 10), i.ForeignReference.ForeignIndex)
 | 
			
		||||
	unittest.AssertExistsAndLoadBean(t, &issues_model.Reaction{Type: "heart", UserID: owner.ID, IssueID: i.ID})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user