mirror of
1
Fork 0
forgejo/models/migrations/v34.go

45 lines
1.3 KiB
Go

// Copyright 2017 Gitea. 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 (
"fmt"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"github.com/go-xorm/xorm"
)
// ActionV34 describes the removed fields
type ActionV34 struct {
ActUserName string `xorm:"-"`
RepoUserName string `xorm:"-"`
RepoName string `xorm:"-"`
}
// TableName will be invoked by XORM to customize the table name
func (*ActionV34) TableName() string {
return "action"
}
func removeActionColumns(x *xorm.Engine) error {
switch {
case setting.UseSQLite3:
log.Warn("Unable to drop columns in SQLite")
case setting.UseMySQL, setting.UsePostgreSQL, setting.UseMSSQL, setting.UseTiDB:
if _, err := x.Exec("ALTER TABLE action DROP COLUMN act_user_name"); err != nil {
return fmt.Errorf("DROP COLUMN act_user_name: %v", err)
} else if _, err = x.Exec("ALTER TABLE action DROP COLUMN repo_user_name"); err != nil {
return fmt.Errorf("DROP COLUMN repo_user_name: %v", err)
} else if _, err = x.Exec("ALTER TABLE action DROP COLUMN repo_name"); err != nil {
return fmt.Errorf("DROP COLUMN repo_name: %v", err)
}
default:
log.Fatal(4, "Unrecognized DB")
}
return nil
}