Add basic subathon impl.
This commit is contained in:
@@ -271,4 +271,46 @@ CREATE TABLE raid_in_events(
|
||||
);
|
||||
-- }}}
|
||||
|
||||
-- Subathon timer data {{{
|
||||
|
||||
CREATE TABLE subathons(
|
||||
subathon_id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||
communityid INTEGER NOT NULL REFERENCES communities(communityid),
|
||||
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
initial_time INTEGER NOT NULL,
|
||||
sub1_score NUMERIC NOT NULL DEFAULT 1,
|
||||
sub2_score NUMERIC NOT NULL DEFAULT 2,
|
||||
sub3_score NUMERIC NOT NULL DEFAULT 6,
|
||||
bit_score NUMERIC NOT NULL,
|
||||
score_time NUMERIC NOT NULL,
|
||||
duration INTEGER NOT NULL DEFAULT 0,
|
||||
ended_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
CREATE TABLE running_subathons(
|
||||
subathon_id INTEGER PRIMARY KEY REFERENCES subathons(subathon_id),
|
||||
last_started TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE TABLE subathon_contributions(
|
||||
contribution_id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||
subathon_id INTEGER NOT NULL REFERENCES subathons(subathon_id),
|
||||
profileid INTEGER REFERENCES user_profiles(profileid),
|
||||
score NUMERIC NOT NULL,
|
||||
event_id INTEGER REFERENCES events(event_id)
|
||||
);
|
||||
|
||||
CREATE TABLE subathon_goals(
|
||||
goal_id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||
subathon_id INTEGER NOT NULL REFERENCES subathons(subathon_id),
|
||||
required_score NUMERIC NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
notified BOOLEAN DEFAULT false,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
|
||||
-- }}}
|
||||
|
||||
|
||||
-- vim: set fdm=marker:
|
||||
|
||||
Reference in New Issue
Block a user