mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add SQL execution on log and indexes on table repository and comment (#7740)
* add index on comment * add SQL execution time on log and index owner_id on repository * add migration
This commit is contained in:
		@@ -100,7 +100,7 @@ const (
 | 
				
			|||||||
// Comment represents a comment in commit and issue page.
 | 
					// Comment represents a comment in commit and issue page.
 | 
				
			||||||
type Comment struct {
 | 
					type Comment struct {
 | 
				
			||||||
	ID               int64       `xorm:"pk autoincr"`
 | 
						ID               int64       `xorm:"pk autoincr"`
 | 
				
			||||||
	Type             CommentType
 | 
						Type             CommentType `xorm:"index"`
 | 
				
			||||||
	PosterID         int64       `xorm:"INDEX"`
 | 
						PosterID         int64       `xorm:"INDEX"`
 | 
				
			||||||
	Poster           *User       `xorm:"-"`
 | 
						Poster           *User       `xorm:"-"`
 | 
				
			||||||
	OriginalAuthor   string
 | 
						OriginalAuthor   string
 | 
				
			||||||
@@ -143,7 +143,7 @@ type Comment struct {
 | 
				
			|||||||
	ShowTag CommentTag `xorm:"-"`
 | 
						ShowTag CommentTag `xorm:"-"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Review      *Review `xorm:"-"`
 | 
						Review      *Review `xorm:"-"`
 | 
				
			||||||
	ReviewID    int64
 | 
						ReviewID    int64   `xorm:"index"`
 | 
				
			||||||
	Invalidated bool
 | 
						Invalidated bool
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -236,6 +236,8 @@ var migrations = []Migration{
 | 
				
			|||||||
	NewMigration("add original author/url migration info to issues, comments, and repo ", addOriginalMigrationInfo),
 | 
						NewMigration("add original author/url migration info to issues, comments, and repo ", addOriginalMigrationInfo),
 | 
				
			||||||
	// v90 -> v91
 | 
						// v90 -> v91
 | 
				
			||||||
	NewMigration("change length of some repository columns", changeSomeColumnsLengthOfRepo),
 | 
						NewMigration("change length of some repository columns", changeSomeColumnsLengthOfRepo),
 | 
				
			||||||
 | 
						// v91 -> v92
 | 
				
			||||||
 | 
						NewMigration("add index on owner_id of repository and type, review_id of comment", addIndexOnRepositoryAndComment),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Migrate database to current version
 | 
					// Migrate database to current version
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								models/migrations/v91.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								models/migrations/v91.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					// 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 "github.com/go-xorm/xorm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func addIndexOnRepositoryAndComment(x *xorm.Engine) error {
 | 
				
			||||||
 | 
						type Repository struct {
 | 
				
			||||||
 | 
							ID      int64 `xorm:"pk autoincr"`
 | 
				
			||||||
 | 
							OwnerID int64 `xorm:"index"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := x.Sync2(new(Repository)); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						type Comment struct {
 | 
				
			||||||
 | 
							ID       int64 `xorm:"pk autoincr"`
 | 
				
			||||||
 | 
							Type     int   `xorm:"index"`
 | 
				
			||||||
 | 
							ReviewID int64 `xorm:"index"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return x.Sync2(new(Comment))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -262,6 +262,7 @@ func NewTestEngine(x *xorm.Engine) (err error) {
 | 
				
			|||||||
		return fmt.Errorf("Connect to database: %v", err)
 | 
							return fmt.Errorf("Connect to database: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						x.ShowExecTime(true)
 | 
				
			||||||
	x.SetMapper(core.GonicMapper{})
 | 
						x.SetMapper(core.GonicMapper{})
 | 
				
			||||||
	x.SetLogger(NewXORMLogger(!setting.ProdMode))
 | 
						x.SetLogger(NewXORMLogger(!setting.ProdMode))
 | 
				
			||||||
	x.ShowSQL(!setting.ProdMode)
 | 
						x.ShowSQL(!setting.ProdMode)
 | 
				
			||||||
@@ -275,6 +276,7 @@ func SetEngine() (err error) {
 | 
				
			|||||||
		return fmt.Errorf("Failed to connect to database: %v", err)
 | 
							return fmt.Errorf("Failed to connect to database: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						x.ShowExecTime(true)
 | 
				
			||||||
	x.SetMapper(core.GonicMapper{})
 | 
						x.SetMapper(core.GonicMapper{})
 | 
				
			||||||
	// WARNING: for serv command, MUST remove the output to os.stdout,
 | 
						// WARNING: for serv command, MUST remove the output to os.stdout,
 | 
				
			||||||
	// so use log file to instead print to stdout.
 | 
						// so use log file to instead print to stdout.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,7 +129,7 @@ func NewRepoContext() {
 | 
				
			|||||||
// Repository represents a git repository.
 | 
					// Repository represents a git repository.
 | 
				
			||||||
type Repository struct {
 | 
					type Repository struct {
 | 
				
			||||||
	ID            int64  `xorm:"pk autoincr"`
 | 
						ID            int64  `xorm:"pk autoincr"`
 | 
				
			||||||
	OwnerID       int64  `xorm:"UNIQUE(s)"`
 | 
						OwnerID       int64  `xorm:"UNIQUE(s) index"`
 | 
				
			||||||
	OwnerName     string `xorm:"-"`
 | 
						OwnerName     string `xorm:"-"`
 | 
				
			||||||
	Owner         *User  `xorm:"-"`
 | 
						Owner         *User  `xorm:"-"`
 | 
				
			||||||
	LowerName     string `xorm:"UNIQUE(s) INDEX NOT NULL"`
 | 
						LowerName     string `xorm:"UNIQUE(s) INDEX NOT NULL"`
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user