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 tribes ( id bigint not null, server_key varchar(100) not null references servers, name varchar(255) not null, tag varchar(10) not null, num_members bigint default 0, num_villages bigint default 0, points bigint default 0, all_points bigint default 0, rank bigint default 0, dominance double precision default 0, created_at timestamp with time zone default CURRENT_TIMESTAMP not null, deleted_at timestamp with time zone, 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, profile_url varchar(150), best_rank bigint default 999999, best_rank_at timestamp with time zone default CURRENT_TIMESTAMP not null, most_points bigint default 0, most_points_at timestamp with time zone default CURRENT_TIMESTAMP not null, most_villages bigint default 0, most_villages_at timestamp with time zone default CURRENT_TIMESTAMP not null, primary key (id, server_key) ); create index if not exists tribes_server_key_idx on tribes (server_key); `) return err }, func(ctx context.Context, db *bun.DB) error { _, err := db.ExecContext(ctx, "drop table if exists tribes cascade;") return err }) }