diff --git a/models/organization/org_pinned.go b/models/organization/org_pinned.go index 6bf78e22ad..e1a05b2e9f 100644 --- a/models/organization/org_pinned.go +++ b/models/organization/org_pinned.go @@ -206,11 +206,12 @@ func ReorderOrgPinnedRepos(ctx context.Context, orgID int64, repoOrders []Pinned defer committer.Close() for _, order := range repoOrders { + // Use MustCols to ensure zero values are updated (display_order can be 0 for first item) + // Only update display_order, not group_id (preserve existing group assignments) if _, err := db.GetEngine(ctx). Where("org_id = ? AND repo_id = ?", orgID, order.RepoID). - Cols("group_id", "display_order"). + MustCols("display_order"). Update(&OrgPinnedRepo{ - GroupID: order.GroupID, DisplayOrder: order.DisplayOrder, }); err != nil { return err