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:
		
							parent
							
								
									3fe9646564
								
							
						
					
					
						commit
						2f10bfa0f6
					
				| 
						 | 
				
			
			@ -70,8 +70,8 @@ type Label struct {
 | 
			
		|||
	NumClosedIssues int
 | 
			
		||||
	NumOpenIssues   int    `xorm:"-"`
 | 
			
		||||
	IsChecked       bool   `xorm:"-"`
 | 
			
		||||
	QueryString     string
 | 
			
		||||
	IsSelected      bool
 | 
			
		||||
	QueryString     string `xorm:"-"`
 | 
			
		||||
	IsSelected      bool   `xorm:"-"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// APIFormat converts a Label to the api.Label format
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -262,6 +262,8 @@ var migrations = []Migration{
 | 
			
		|||
	NewMigration("update migration repositories' service type", dropColumnHeadUserNameOnPullRequest),
 | 
			
		||||
	// v103 -> v104
 | 
			
		||||
	NewMigration("Add WhitelistDeployKeys to protected branch", addWhitelistDeployKeysToBranches),
 | 
			
		||||
	// v104 -> v105
 | 
			
		||||
	NewMigration("remove unnecessary columns from label", removeLabelUneededCols),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Migrate database to current version
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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()
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue