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
 | 
						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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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