SET ROLE 'mo_osmo'; 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 ); ALTER TABLE rounds ADD COLUMN enroll_mode enroll_mode NOT NULL DEFAULT 'manual'; ALTER TABLE rounds ADD COLUMN enroll_advert varchar(255) NOT NULL DEFAULT ''; ALTER TYPE part_state ADD VALUE 'active' AFTER 'invited'; ALTER TABLE participants ADD COLUMN registered_on timestamp with time zone DEFAULT NULL; UPDATE participations SET state='active' WHERE state IN ('registered', 'invited'); CREATE TYPE reg_req_type AS ENUM ( 'register', 'change', 'reset' ); CREATE TABLE reg_requests ( reg_id serial PRIMARY KEY, type reg_req_type NOT NULL, created_at timestamp with time zone NOT NULL, expires_at timestamp with time zone NOT NULL, used_at timestamp with time zone DEFAULT NULL, email varchar(255) DEFAULT NULL, captcha_token varchar(255) DEFAULT NULL, email_token varchar(255) UNIQUE NOT NULL, user_id int DEFAULT NULL REFERENCES users(user_id) ON DELETE CASCADE, client varchar(255) NOT NULL );