add games teams links

This commit is contained in:
2026-07-25 22:04:07 +07:00
parent 1bab74d8ca
commit e4658a4a79
3 changed files with 51 additions and 0 deletions
@@ -0,0 +1,18 @@
-- +goose Up
CREATE TABLE
IF NOT EXISTS games (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
start_at TIMESTAMP NOT NULL,
scenario_id INTEGER NOT NULL,
status VARCHAR(50) DEFAULT 'ready',
created_at TIMESTAMP NOT NULL DEFAULT NOW (),
started_at TIMESTAMP,
ended_at TIMESTAMP,
CONSTRAINT fk_games_scenario FOREIGN KEY (scenario_id) REFERENCES scenarios (id) ON DELETE RESTRICT
);
-- +goose Down
DROP TABLE IF EXISTS games;
@@ -0,0 +1,19 @@
-- +goose Up
CREATE TABLE
IF NOT EXISTS teams (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
status VARCHAR(50) DEFAULT 'register',
creator_id INTEGER NOT NULL,
game_id INTEGER NOT NULL,
scenario_id INTEGER NOT NULL,
password TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW (),
CONSTRAINT fk_teams_game FOREIGN KEY (game_id) REFERENCES games (id) ON DELETE RESTRICT,
CONSTRAINT fk_teams_creator FOREIGN KEY (creator_id) REFERENCES users (id) ON DELETE RESTRICT,
CONSTRAINT fk_teams_scenario FOREIGN KEY (scenario_id) REFERENCES scenarios (id) ON DELETE RESTRICT
);
-- +goose Down
DROP TABLE IF EXISTS teams;
@@ -0,0 +1,14 @@
-- +goose Up
CREATE TABLE
IF NOT EXISTS links (
id SERIAL PRIMARY KEY,
team_id INTEGER,
game_id INTEGER,
created_at TIMESTAMP NOT NULL DEFAULT NOW (),
CONSTRAINT fk_links_team FOREIGN KEY (team_id) REFERENCES teams (id) ON DELETE RESTRICT,
CONSTRAINT fk_links_game FOREIGN KEY (game_id) REFERENCES games (id) ON DELETE RESTRICT
);
-- +goose Down
DROP TABLE IF EXISTS links;