fix: fix performance issues with /ennoblements and /villages (#103)
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: twhelp/core#103
This commit is contained in:
Dawid Wysokiński 2022-10-18 04:14:24 +00:00
parent 8b781e187e
commit 5504f36e2e
8 changed files with 5 additions and 9 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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