Fix extra columns from `label` table (#8633)

* Fix extra fields from database

* Add migration to drop unneeded columns

* Fix lint

* Make sure the columns exist
This commit is contained in:
guillep2k 2019-10-23 08:48:32 -03:00 committed by Lauris BH
parent 3fe9646564
commit 2f10bfa0f6
3 changed files with 40 additions and 4 deletions

View File

@ -68,10 +68,10 @@ type Label struct {
Color string `xorm:"VARCHAR(7)"` Color string `xorm:"VARCHAR(7)"`
NumIssues int NumIssues int
NumClosedIssues int NumClosedIssues int
NumOpenIssues int `xorm:"-"` NumOpenIssues int `xorm:"-"`
IsChecked bool `xorm:"-"` IsChecked bool `xorm:"-"`
QueryString string QueryString string `xorm:"-"`
IsSelected bool IsSelected bool `xorm:"-"`
} }
// APIFormat converts a Label to the api.Label format // APIFormat converts a Label to the api.Label format

View File

@ -262,6 +262,8 @@ var migrations = []Migration{
NewMigration("update migration repositories' service type", dropColumnHeadUserNameOnPullRequest), NewMigration("update migration repositories' service type", dropColumnHeadUserNameOnPullRequest),
// v103 -> v104 // v103 -> v104
NewMigration("Add WhitelistDeployKeys to protected branch", addWhitelistDeployKeysToBranches), NewMigration("Add WhitelistDeployKeys to protected branch", addWhitelistDeployKeysToBranches),
// v104 -> v105
NewMigration("remove unnecessary columns from label", removeLabelUneededCols),
} }
// Migrate database to current version // Migrate database to current version

34
models/migrations/v104.go Normal file
View File

@ -0,0 +1,34 @@
// Copyright 2019 The Gitea 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 (
"xorm.io/xorm"
)
func removeLabelUneededCols(x *xorm.Engine) error {
// Make sure the columns exist before dropping them
type Label struct {
QueryString string
IsSelected bool
}
if err := x.Sync2(new(Label)); err != nil {
return err
}
sess := x.NewSession()
defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
if err := dropTableColumns(sess, "label", "query_string"); err != nil {
return err
}
if err := dropTableColumns(sess, "label", "is_selected"); err != nil {
return err
}
return sess.Commit()
}