1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // 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 migrations
- import (
- "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"))
- // Re-run should be skipped
- err = addIndexToActionUserID(db)
- require.Equal(t, errMigrationSkipped, err)
- }
|