core/internal/migrations/20231220051221_create_villa...

43 lines
1.3 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 villages
(
id bigint not null,
server_key varchar(100) not null
references servers,
name varchar(150) not null,
points bigint default 0,
x bigint default 0,
y bigint default 0,
continent varchar(5),
bonus bigint default 0,
player_id bigint,
created_at timestamp with time zone default CURRENT_TIMESTAMP not null,
profile_url varchar(150),
primary key (id, server_key)
);
create index if not exists villages_server_key_idx
on villages (server_key);
create index if not exists villages_server_key_x_y_idx
on villages (server_key, x, y);
create index if not exists villages_server_key_player_id_idx
on villages (server_key, player_id);`)
return err
}, func(ctx context.Context, db *bun.DB) error {
_, err := db.ExecContext(ctx, "drop table if exists villages cascade;")
return err
})
}