core/internal/bun/migrations/20231220051411_create_playe...

42 lines
1.4 KiB
Go

package migrations
import (
"context"
"github.com/uptrace/bun"
)
func init() {
migrations.MustRegister(func(ctx context.Context, db *bun.DB) error {
_, err := db.ExecContext(ctx, `
create table if not exists player_snapshots
(
?ID_COL,
player_id bigint not null,
num_villages bigint default 0,
points bigint default 0,
rank bigint default 0,
tribe_id bigint,
server_key varchar(100) not null
references servers,
date date not null,
created_at timestamp with time zone default CURRENT_TIMESTAMP not null,
rank_att bigint default 0,
score_att bigint default 0,
rank_def bigint default 0,
score_def bigint default 0,
rank_sup bigint default 0,
score_sup bigint default 0,
rank_total bigint default 0,
score_total bigint default 0,
unique (player_id, server_key, date),
foreign key (player_id, server_key) references players
);
`)
return err
}, func(ctx context.Context, db *bun.DB) error {
_, err := db.ExecContext(ctx, "drop table if exists player_snapshots cascade;")
return err
})
}