tijl.dev-core/migrations/00000002_flags.up.sql

24 lines
881 B
MySQL
Raw Normal View History

2024-08-25 17:43:55 +02:00
CREATE TABLE app_flags_games (
game_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
game_seed UUID DEFAULT gen_random_uuid(),
uid VARCHAR DEFAULT NULL,
tags VARCHAR[] NOT NULL,
question_amount INT NOT NULL,
question_current INT DEFAULT 0 NOT NULL,
question_correct INT GENERATED ALWAYS AS (
(SELECT COUNT(*) FROM app_flags_games_answers a WHERE a.game_id = app_flags_games.game_id AND a.correct = TRUE)
) STORED,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
last_activity TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
FOREIGN KEY (uid) REFERENCES users (uid)
);
CREATE TABLE app_flags_games_answers (
game_id UUID,
question INT NOT NULL,
correct BOOLEAN NOT NULL,
FOREIGN KEY (game_id) REFERENCES app_flags_games (game_id),
CONSTRAINT app_flags_games_answers_unique UNIQUE (game_id, question)
);