Skip to content
Snippets Groups Projects

Registrace

Merged Martin Mareš requested to merge mj/registrace into devel
3 files
+ 52
9
Compare changes
  • Side-by-side
  • Inline

Files

  • 2a429238
    Registrace: Změny v DB · 2a429238
    Martin Mareš authored
    - round: přibyly sloupec enroll_mode a enroll_advert
    - participant: přibyl sloupec registered_on
    - part_state: přidán stav "active", zrušeny "invited" a "present"
+ 15
5
@@ -89,6 +89,12 @@ CREATE TYPE score_mode AS ENUM (
@@ -89,6 +89,12 @@ CREATE TYPE score_mode AS ENUM (
'mo' -- jednoznačné pořadí podle pravidel MO
'mo' -- jednoznačné pořadí podle pravidel MO
);
);
 
CREATE TYPE enroll_mode AS ENUM ( -- režim přihlašování účastníků
 
'manual', -- přihlašuje organizátor
 
'register', -- účastník se registruje
 
'confirm' -- účastník se registruje, ale org ho musí potvrdit
 
);
 
CREATE TABLE rounds (
CREATE TABLE rounds (
round_id serial PRIMARY KEY,
round_id serial PRIMARY KEY,
master_round_id int DEFAULT NULL REFERENCES rounds(round_id),
master_round_id int DEFAULT NULL REFERENCES rounds(round_id),
@@ -109,6 +115,8 @@ CREATE TABLE rounds (
@@ -109,6 +115,8 @@ CREATE TABLE rounds (
score_successful_limit int DEFAULT NULL, -- bodový limit na označení za úspěšného řešitele
score_successful_limit int DEFAULT NULL, -- bodový limit na označení za úspěšného řešitele
points_step numeric(2,1) NOT NULL DEFAULT 1, -- s jakou přesností jsou přidělovány body (celé aneb 1, 0.5, 0.1)
points_step numeric(2,1) NOT NULL DEFAULT 1, -- s jakou přesností jsou přidělovány body (celé aneb 1, 0.5, 0.1)
has_messages boolean NOT NULL DEFAULT false, -- má zprávičky
has_messages boolean NOT NULL DEFAULT false, -- má zprávičky
 
enroll_mode enroll_mode NOT NULL DEFAULT 'manual', -- režim přihlašování (pro vyšší kola vždy 'manual')
 
enroll_advert varchar(255) NOT NULL DEFAULT '', -- popis v přihlašovacím formuláři
UNIQUE (year, category, seq, part)
UNIQUE (year, category, seq, part)
);
);
@@ -133,17 +141,19 @@ CREATE TABLE participants (
@@ -133,17 +141,19 @@ CREATE TABLE participants (
school int NOT NULL REFERENCES places(place_id),
school int NOT NULL REFERENCES places(place_id),
birth_year int NOT NULL,
birth_year int NOT NULL,
grade varchar(20) NOT NULL, -- třída ve tvaru "X/Y"
grade varchar(20) NOT NULL, -- třída ve tvaru "X/Y"
 
registered_on timestamp with time zone DEFAULT NULL, -- kdy se účastník přihlásil (NULL, pokud ho přihlásil organizátor)
PRIMARY KEY (user_id, year)
PRIMARY KEY (user_id, year)
);
);
-- Účast v soutěžním kole
-- Účast v soutěžním kole
CREATE TYPE part_state AS ENUM (
CREATE TYPE part_state AS ENUM (
'registered', -- sám se přihlásil
'registered', -- sám se přihlásil, čeká na potvrzení organizátorem
'invited', -- pozván
-- 'invited', -- pozván (už nepoužíváme)
'refused', -- odmítl účast
'active', -- soutěží (přihlášku zadal/potvrdil organizátor)
'present', -- soutěžil
'refused', -- organizátor odmítl přihlášku
'absent', -- bez omluvy nedorazil
-- 'present', -- soutěžil (už nepoužíváme)
 
'absent', -- nedorazil
'disqualified' -- diskvalifikovaný
'disqualified' -- diskvalifikovaný
);
);
Loading