| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // Copyright 2024 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package v1_23
-
- import (
- "code.gitea.io/gitea/modules/timeutil"
-
- "xorm.io/xorm"
- "xorm.io/xorm/schemas"
- )
-
- type improveNotificationTableIndicesAction struct {
- ID int64 `xorm:"pk autoincr"`
- UserID int64 `xorm:"NOT NULL"`
- RepoID int64 `xorm:"NOT NULL"`
-
- Status uint8 `xorm:"SMALLINT NOT NULL"`
- Source uint8 `xorm:"SMALLINT NOT NULL"`
-
- IssueID int64 `xorm:"NOT NULL"`
- CommitID string
- CommentID int64
-
- UpdatedBy int64 `xorm:"NOT NULL"`
-
- CreatedUnix timeutil.TimeStamp `xorm:"created NOT NULL"`
- UpdatedUnix timeutil.TimeStamp `xorm:"updated NOT NULL"`
- }
-
- // TableName sets the name of this table
- func (*improveNotificationTableIndicesAction) TableName() string {
- return "notification"
- }
-
- // TableIndices implements xorm's TableIndices interface
- func (*improveNotificationTableIndicesAction) TableIndices() []*schemas.Index {
- indices := make([]*schemas.Index, 0, 8)
- usuuIndex := schemas.NewIndex("u_s_uu", schemas.IndexType)
- usuuIndex.AddColumn("user_id", "status", "updated_unix")
- indices = append(indices, usuuIndex)
-
- // Add the individual indices that were previously defined in struct tags
- userIDIndex := schemas.NewIndex("idx_notification_user_id", schemas.IndexType)
- userIDIndex.AddColumn("user_id")
- indices = append(indices, userIDIndex)
-
- repoIDIndex := schemas.NewIndex("idx_notification_repo_id", schemas.IndexType)
- repoIDIndex.AddColumn("repo_id")
- indices = append(indices, repoIDIndex)
-
- statusIndex := schemas.NewIndex("idx_notification_status", schemas.IndexType)
- statusIndex.AddColumn("status")
- indices = append(indices, statusIndex)
-
- sourceIndex := schemas.NewIndex("idx_notification_source", schemas.IndexType)
- sourceIndex.AddColumn("source")
- indices = append(indices, sourceIndex)
-
- issueIDIndex := schemas.NewIndex("idx_notification_issue_id", schemas.IndexType)
- issueIDIndex.AddColumn("issue_id")
- indices = append(indices, issueIDIndex)
-
- commitIDIndex := schemas.NewIndex("idx_notification_commit_id", schemas.IndexType)
- commitIDIndex.AddColumn("commit_id")
- indices = append(indices, commitIDIndex)
-
- updatedByIndex := schemas.NewIndex("idx_notification_updated_by", schemas.IndexType)
- updatedByIndex.AddColumn("updated_by")
- indices = append(indices, updatedByIndex)
-
- return indices
- }
-
- func ImproveNotificationTableIndices(x *xorm.Engine) error {
- return x.Sync(&improveNotificationTableIndicesAction{})
- }
|