From f635f4652e9e6fb26a82fc9284a617778c4b88e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Sun, 23 Nov 2025 16:32:23 -0500 Subject: [PATCH] fix mssql migrations --- models/migrations/v1_26/v324.go | 3 ++- models/repo/repo.go | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/models/migrations/v1_26/v324.go b/models/migrations/v1_26/v324.go index b327157ed5..4dfd3040b6 100644 --- a/models/migrations/v1_26/v324.go +++ b/models/migrations/v1_26/v324.go @@ -7,7 +7,8 @@ import "xorm.io/xorm" func AddGroupColumnsToRepositoryTable(x *xorm.Engine) error { type Repository struct { - GroupID int64 `xorm:"UNIQUE(s) INDEX DEFAULT NULL"` + LowerName string `xorm:"UNIQUE(s) UNIQUE(g) INDEX NOT NULL"` + GroupID int64 `xorm:"UNIQUE(g) INDEX DEFAULT 0"` GroupSortOrder int } _, err := x.SyncWithOptions(xorm.SyncOptions{ diff --git a/models/repo/repo.go b/models/repo/repo.go index 258eebc653..6ef759ec41 100644 --- a/models/repo/repo.go +++ b/models/repo/repo.go @@ -156,7 +156,7 @@ type Repository struct { OwnerID int64 `xorm:"UNIQUE(s) index"` OwnerName string Owner *user_model.User `xorm:"-"` - LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"` + LowerName string `xorm:"UNIQUE(s) UNIQUE(g) INDEX NOT NULL"` Name string `xorm:"INDEX NOT NULL"` Description string `xorm:"TEXT"` Website string `xorm:"VARCHAR(2048)"` @@ -220,7 +220,7 @@ type Repository struct { UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT 0"` - GroupID int64 `xorm:"UNIQUE(s) INDEX DEFAULT NULL"` + GroupID int64 `xorm:"UNIQUE(g) INDEX DEFAULT 0"` GroupSortOrder int `xorm:"INDEX"` } @@ -812,6 +812,11 @@ func (err ErrRepoNotExist) Unwrap() error { // GetRepositoryByOwnerAndName returns the repository by given owner name and repo name func GetRepositoryByOwnerAndName(ctx context.Context, ownerName, repoName string, groupID int64) (*Repository, error) { var repo Repository + var gid any = groupID + if groupID == 0 { + gid = nil + } + _ = gid has, err := db.GetEngine(ctx).Table("repository").Select("repository.*"). Join("INNER", "`user`", "`user`.id = repository.owner_id"). Where("repository.lower_name = ?", strings.ToLower(repoName)).