lottery
This commit is contained in:
parent
ef105e1cac
commit
b918b92a4d
6 changed files with 702 additions and 0 deletions
23
migrations/002_lottery.sql
Normal file
23
migrations/002_lottery.sql
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
create table if not exists lottery_rounds (
|
||||
id text primary key,
|
||||
status text not null,
|
||||
pool_minor bigint not null default 0 check (pool_minor >= 0),
|
||||
winner_user_id text references users(id),
|
||||
winner_account_id text references accounts(id),
|
||||
draw_at timestamptz not null,
|
||||
created_at timestamptz not null,
|
||||
completed_at timestamptz
|
||||
);
|
||||
|
||||
create table if not exists lottery_entries (
|
||||
id text primary key,
|
||||
round_id text not null references lottery_rounds(id) on delete cascade,
|
||||
user_id text not null references users(id) on delete cascade,
|
||||
account_id text not null references accounts(id) on delete cascade,
|
||||
amount_minor bigint not null check (amount_minor > 0),
|
||||
created_at timestamptz not null
|
||||
);
|
||||
|
||||
create index if not exists idx_lottery_rounds_status_created_at on lottery_rounds(status, created_at desc);
|
||||
create index if not exists idx_lottery_entries_round_id on lottery_entries(round_id, created_at asc);
|
||||
create index if not exists idx_lottery_entries_user_id on lottery_entries(user_id, created_at desc);
|
||||
Loading…
Add table
Add a link
Reference in a new issue