From 4636f56e7b519ec74f15f0cfd6ef4a428088a960 Mon Sep 17 00:00:00 2001 From: JakobDev Date: Wed, 4 Oct 2023 03:41:25 +0200 Subject: [PATCH] Add Index to `action.user_id` (#27403) Another Column that needs a Index. Found at https://codeberg.org/forgejo/discussions/issues/61#issuecomment-1258744. Co-authored-by: Giteabot --- models/activities/action.go | 2 +- models/migrations/migrations.go | 2 ++ models/migrations/v1_21/v279.go | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 models/migrations/v1_21/v279.go diff --git a/models/activities/action.go b/models/activities/action.go index 9b62a4631a..1bfd62438b 100644 --- a/models/activities/action.go +++ b/models/activities/action.go @@ -140,7 +140,7 @@ func (at ActionType) InActions(actions ...string) bool { // used in template render. type Action struct { ID int64 `xorm:"pk autoincr"` - UserID int64 // Receiver user id. + UserID int64 `xorm:"INDEX"` // Receiver user id. OpType ActionType ActUserID int64 // Action user id. ActUser *user_model.User `xorm:"-"` diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 4527bcc1ae..020043cfc3 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -538,6 +538,8 @@ var migrations = []Migration{ NewMigration("Add Index to issue_user.issue_id", v1_21.AddIndexToIssueUserIssueID), // v278 -> v279 NewMigration("Add Index to comment.dependent_issue_id", v1_21.AddIndexToCommentDependentIssueID), + // v279 -> v280 + NewMigration("Add Index to action.user_id", v1_21.AddIndexToActionUserID), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v1_21/v279.go b/models/migrations/v1_21/v279.go new file mode 100644 index 0000000000..19647225c9 --- /dev/null +++ b/models/migrations/v1_21/v279.go @@ -0,0 +1,16 @@ +// Copyright 2023 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package v1_21 //nolint + +import ( + "xorm.io/xorm" +) + +func AddIndexToActionUserID(x *xorm.Engine) error { + type Action struct { + UserID int64 `xorm:"INDEX"` + } + + return x.Sync(new(Action)) +}