summaryrefslogtreecommitdiffstats
path: root/models/foreignreference
diff options
context:
space:
mode:
authorJason Song <i@wolfogre.com>2022-12-23 19:35:43 +0800
committerGitHub <noreply@github.com>2022-12-23 19:35:43 +0800
commit71ca3067bcc6c7c7772d38fc7590505c8c7148ed (patch)
tree9c3719cb257e3976df229128f9f9d33056e3503d /models/foreignreference
parent41f0668da818d3a3ae74555bfe3de375448bacf3 (diff)
downloadgitea-71ca3067bcc6c7c7772d38fc7590505c8c7148ed.tar.gz
gitea-71ca3067bcc6c7c7772d38fc7590505c8c7148ed.zip
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>
Diffstat (limited to 'models/foreignreference')
-rw-r--r--models/foreignreference/error.go52
-rw-r--r--models/foreignreference/foreignreference.go31
2 files changed, 0 insertions, 83 deletions
diff --git a/models/foreignreference/error.go b/models/foreignreference/error.go
deleted file mode 100644
index 07ed1052a6..0000000000
--- a/models/foreignreference/error.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2022 Gitea. All rights reserved.
-// SPDX-License-Identifier: MIT
-
-package foreignreference
-
-import (
- "fmt"
-
- "code.gitea.io/gitea/modules/util"
-)
-
-// ErrLocalIndexNotExist represents a "LocalIndexNotExist" kind of error.
-type ErrLocalIndexNotExist struct {
- RepoID int64
- ForeignIndex int64
- Type string
-}
-
-// ErrLocalIndexNotExist checks if an error is a ErrLocalIndexNotExist.
-func IsErrLocalIndexNotExist(err error) bool {
- _, ok := err.(ErrLocalIndexNotExist)
- return ok
-}
-
-func (err ErrLocalIndexNotExist) Error() string {
- return fmt.Sprintf("repository %d has no LocalIndex for ForeignIndex %d of type %s", err.RepoID, err.ForeignIndex, err.Type)
-}
-
-func (err ErrLocalIndexNotExist) Unwrap() error {
- return util.ErrNotExist
-}
-
-// ErrForeignIndexNotExist represents a "ForeignIndexNotExist" kind of error.
-type ErrForeignIndexNotExist struct {
- RepoID int64
- LocalIndex int64
- Type string
-}
-
-// ErrForeignIndexNotExist checks if an error is a ErrForeignIndexNotExist.
-func IsErrForeignIndexNotExist(err error) bool {
- _, ok := err.(ErrForeignIndexNotExist)
- return ok
-}
-
-func (err ErrForeignIndexNotExist) Error() string {
- return fmt.Sprintf("repository %d has no ForeignIndex for LocalIndex %d of type %s", err.RepoID, err.LocalIndex, err.Type)
-}
-
-func (err ErrForeignIndexNotExist) Unwrap() error {
- return util.ErrNotExist
-}
diff --git a/models/foreignreference/foreignreference.go b/models/foreignreference/foreignreference.go
deleted file mode 100644
index 2d2ad04c5a..0000000000
--- a/models/foreignreference/foreignreference.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2022 Gitea. All rights reserved.
-// SPDX-License-Identifier: MIT
-
-package foreignreference
-
-import (
- "code.gitea.io/gitea/models/db"
-)
-
-// Type* are valid values for the Type field of ForeignReference
-const (
- TypeIssue = "issue"
- TypePullRequest = "pull_request"
- TypeComment = "comment"
- TypeReview = "review"
- TypeReviewComment = "review_comment"
- TypeRelease = "release"
-)
-
-// ForeignReference represents external references
-type ForeignReference struct {
- // RepoID is the first column in all indices. now we only need 2 indices: (repo, local) and (repo, foreign, type)
- RepoID int64 `xorm:"UNIQUE(repo_foreign_type) INDEX(repo_local)" `
- LocalIndex int64 `xorm:"INDEX(repo_local)"` // the resource key inside Gitea, it can be IssueIndex, or some model ID.
- ForeignIndex string `xorm:"INDEX UNIQUE(repo_foreign_type)"`
- Type string `xorm:"VARCHAR(16) INDEX UNIQUE(repo_foreign_type)"`
-}
-
-func init() {
- db.RegisterModel(new(ForeignReference))
-}