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:
parent
52feff5a5c
commit
7b009626da
5 changed files with 36 additions and 6 deletions
|
@ -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 a new issue