CREATE TYPE matchmaking_choice AS ENUM ( 'yes', 'late', 'maybe', 'dontw', 'cant', 'wont' ); CREATE TABLE matchmaking_events ( id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, text VARCHAR NOT NULL, starts_at TIMESTAMP NOT NULL ); CREATE TABLE matchmaking_replies ( matchmaking_id INTEGER REFERENCES matchmaking_events(id) NOT NULL, user_id INTEGER REFERENCES users(id) NOT NULL, choice matchmaking_choice NOT NULL, late_mins INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(matchmaking_id, user_id) ); CREATE TABLE matchmaking_messages_telegram ( matchmaking_id INTEGER REFERENCES matchmaking_events(id) NOT NULL, telegram_chat_id BIGINT NOT NULL, telegram_message_id INTEGER NOT NULL, PRIMARY KEY(matchmaking_id, telegram_chat_id, telegram_message_id) )