From c8602a8dfa05f653e7de8ed2e677c8967b8688f5 Mon Sep 17 00:00:00 2001 From: JakobDev Date: Mon, 30 Oct 2023 09:39:29 +0100 Subject: [PATCH] Add Index to pull_auto_merge.doer_id (#27811) Reported at https://codeberg.org/forgejo/forgejo/issues/1677 This column is used by [deleteUser](https://github.com/go-gitea/gitea/blob/f089be91da44ee3e85fbe326a204c7c8a5df3d31/services/user/delete.go#L90). Note: This PR contains a Migration, so we can't backport it to 1.21. --- models/migrations/migrations.go | 2 ++ models/migrations/v1_22/v282.go | 16 ++++++++++++++++ models/pull/automerge.go | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 models/migrations/v1_22/v282.go diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 4a06cdc73a..28e3be503b 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -548,6 +548,8 @@ var migrations = []Migration{ NewMigration("Rename user themes", v1_22.RenameUserThemes), // v281 -> v282 NewMigration("Add auth_token table", v1_22.CreateAuthTokenTable), + // v282 -> v283 + NewMigration("Add Index to pull_auto_merge.doer_id", v1_22.AddIndexToPullAutoMergeDoerID), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v1_22/v282.go b/models/migrations/v1_22/v282.go new file mode 100644 index 0000000000..baad9e0916 --- /dev/null +++ b/models/migrations/v1_22/v282.go @@ -0,0 +1,16 @@ +// Copyright 2023 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package v1_22 //nolint + +import ( + "xorm.io/xorm" +) + +func AddIndexToPullAutoMergeDoerID(x *xorm.Engine) error { + type PullAutoMerge struct { + DoerID int64 `xorm:"INDEX NOT NULL"` + } + + return x.Sync(&PullAutoMerge{}) +} diff --git a/models/pull/automerge.go b/models/pull/automerge.go index f68fb7c681..f69fcb60d1 100644 --- a/models/pull/automerge.go +++ b/models/pull/automerge.go @@ -17,7 +17,7 @@ import ( type AutoMerge struct { ID int64 `xorm:"pk autoincr"` PullID int64 `xorm:"UNIQUE"` - DoerID int64 `xorm:"NOT NULL"` + DoerID int64 `xorm:"INDEX NOT NULL"` Doer *user_model.User `xorm:"-"` MergeStyle repo_model.MergeStyle `xorm:"varchar(30)"` Message string `xorm:"LONGTEXT"`