fix: fix performance issues with /ennoblements and /villages (#103)
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: twhelp/core#103
This commit is contained in:
parent
8b781e187e
commit
5504f36e2e
|
@ -6,9 +6,8 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/uptrace/bun/extra/bunotel"
|
||||
|
||||
"github.com/kelseyhightower/envconfig"
|
||||
"github.com/uptrace/bun/extra/bunotel"
|
||||
|
||||
"github.com/uptrace/bun/driver/pgdriver"
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ func (e *Ennoblement) List(ctx context.Context, params domain.ListEnnoblementsPa
|
|||
|
||||
q := e.db.NewSelect().
|
||||
Model(&ennoblements).
|
||||
Order("server_key ASC")
|
||||
Order("ennoblement.server_key ASC")
|
||||
|
||||
q, err = listEnnoblementsParamsApplier{params}.apply(q)
|
||||
if err != nil {
|
||||
|
|
|
@ -12,7 +12,6 @@ type Player struct {
|
|||
|
||||
ID int64 `bun:"id,nullzero,pk"`
|
||||
ServerKey string `bun:"server_key,nullzero,pk,type:varchar(100)"`
|
||||
Server Server `bun:"server,rel:belongs-to,join:server_key=key"`
|
||||
Name string `bun:"name,nullzero,notnull,type:varchar(150)"`
|
||||
NumVillages int64 `bun:"num_villages,default:0"`
|
||||
Points int64 `bun:"points,default:0"`
|
||||
|
|
|
@ -13,7 +13,6 @@ type Tribe struct {
|
|||
|
||||
ID int64 `bun:"id,nullzero,pk"`
|
||||
ServerKey string `bun:"server_key,nullzero,pk,type:varchar(100)"`
|
||||
Server Server `bun:"server,rel:belongs-to,join:server_key=key"`
|
||||
Name string `bun:"name,nullzero,notnull,type:varchar(255)"`
|
||||
Tag string `bun:"tag,nullzero,notnull,type:varchar(10)"`
|
||||
NumMembers int64 `bun:"num_members,default:0"`
|
||||
|
|
|
@ -12,7 +12,6 @@ type Village struct {
|
|||
|
||||
ID int64 `bun:"id,nullzero,pk"`
|
||||
ServerKey string `bun:"server_key,nullzero,pk,type:varchar(100)"`
|
||||
Server Server `bun:"server,rel:belongs-to,join:server_key=key"`
|
||||
Name string `bun:"name,nullzero,notnull,type:varchar(150)"`
|
||||
Points int64 `bun:"points,default:0"`
|
||||
X int64 `bun:"x,default:0"`
|
||||
|
|
|
@ -89,7 +89,7 @@ func (p *Player) List(ctx context.Context, params domain.ListPlayersParams) ([]d
|
|||
|
||||
q := p.db.NewSelect().
|
||||
Model(&players).
|
||||
Order("server_key ASC")
|
||||
Order("player.server_key ASC")
|
||||
|
||||
q, err = listPlayersParamsApplier{params}.apply(q)
|
||||
if err != nil {
|
||||
|
|
|
@ -118,7 +118,7 @@ func (t *Tribe) List(ctx context.Context, params domain.ListTribesParams) ([]dom
|
|||
|
||||
q := t.db.NewSelect().
|
||||
Model(&tribes).
|
||||
Order("server_key ASC")
|
||||
Order("tribe.server_key ASC")
|
||||
|
||||
q, err = listTribesParamsApplier{params}.apply(q)
|
||||
if err != nil {
|
||||
|
|
|
@ -64,7 +64,7 @@ func (v *Village) List(ctx context.Context, params domain.ListVillagesParams) ([
|
|||
|
||||
q := v.db.NewSelect().
|
||||
Model(&villages).
|
||||
Order("server_key ASC", "id ASC").
|
||||
Order("village.server_key ASC", "village.id ASC").
|
||||
Apply(listVillagesParamsApplier{params}.apply)
|
||||
if params.Count {
|
||||
count, err = q.ScanAndCount(ctx)
|
||||
|
|
Reference in New Issue
Block a user