tijl.dev-core/migrations/00000002_flags.up.sql
tijl 84041c6500
All checks were successful
build / build (push) Successful in 24s
release-tag / release-image (push) Successful in 16m55s
feat(app/flags): game data shares
2024-08-26 20:28:20 +02:00

34 lines
1.1 KiB
SQL

CREATE TABLE app_flags_games (
game_id UUID PRIMARY KEY NOT NULL DEFAULT gen_random_uuid(),
game_seed UUID NOT NULL DEFAULT gen_random_uuid(),
uid VARCHAR DEFAULT NULL,
tags VARCHAR[] NOT NULL,
seconds INT NOT NULL,
question_amount INT NOT NULL,
question_current INT DEFAULT 1 NOT NULL,
questions_errors INT DEFAULT 0 NOT NULL,
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_shared_data (
id SERIAL PRIMARY KEY,
share_key VARCHAR NOT NULL,
game_seed UUID NOT NULL DEFAULT gen_random_uuid(),
questions INT DEFAULT 0 NOT NULL,
tags VARCHAR[] NOT NULL,
seconds INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
CREATE TABLE app_flags_games_answers (
game_id UUID NOT NULL,
question INT NOT NULL,
errors INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
FOREIGN KEY (game_id) REFERENCES app_flags_games (game_id),
CONSTRAINT app_flags_games_answers_unique UNIQUE (game_id, question)
);