| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | // Copyright 2022 The Gogs Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file.package migrationsimport (	"testing"	"github.com/stretchr/testify/assert"	"github.com/stretchr/testify/require"	"gogs.io/gogs/internal/dbtest")type actionPreV21 struct {	ID           int64 `gorm:"primaryKey"`	UserID       int64	OpType       int	ActUserID    int64	ActUserName  string	RepoID       int64 `gorm:"index"`	RepoUserName string	RepoName     string	RefName      string	IsPrivate    bool `gorm:"not null;default:FALSE"`	Content      string	CreatedUnix  int64}func (*actionPreV21) TableName() string {	return "action"}type actionV21 struct {	ID           int64 `gorm:"primaryKey"`	UserID       int64 `gorm:"index"`	OpType       int	ActUserID    int64	ActUserName  string	RepoID       int64 `gorm:"index"`	RepoUserName string	RepoName     string	RefName      string	IsPrivate    bool `gorm:"not null;default:FALSE"`	Content      string	CreatedUnix  int64}func (*actionV21) TableName() string {	return "action"}func TestAddIndexToActionUserID(t *testing.T) {	if testing.Short() {		t.Skip()	}	t.Parallel()	db := dbtest.NewDB(t, "addIndexToActionUserID", new(actionPreV21))	err := db.Create(		&actionPreV21{			ID:           1,			UserID:       1,			OpType:       1,			ActUserID:    1,			ActUserName:  "alice",			RepoID:       1,			RepoUserName: "alice",			RepoName:     "example",			RefName:      "main",			IsPrivate:    false,			CreatedUnix:  db.NowFunc().Unix(),		},	).Error	require.NoError(t, err)	assert.False(t, db.Migrator().HasIndex(&actionV21{}, "UserID"))	err = addIndexToActionUserID(db)	require.NoError(t, err)	assert.True(t, db.Migrator().HasIndex(&actionV21{}, "UserID"))}
 |