This commit is contained in:
sparshg
2024-09-18 16:54:20 +05:30
parent 04b9a9502b
commit 31ff8d0753
13 changed files with 865 additions and 51 deletions

View File

@@ -0,0 +1,28 @@
-- DROP OWNED BY CURRENT_USER CASCADE;
CREATE TYPE STAT AS ENUM ('waiting', 'p1turn', 'p2turn');
CREATE TABLE IF NOT EXISTS players (
id CHAR(16) PRIMARY KEY,
board CHAR(10) [10],
room_code CHAR(4)
);
CREATE TABLE IF NOT EXISTS rooms (
code CHAR(4) PRIMARY KEY,
player1_id CHAR(16),
player2_id CHAR(16),
stat STAT DEFAULT 'waiting'
);
ALTER TABLE players
ADD CONSTRAINT fk_room_code FOREIGN KEY (room_code) REFERENCES rooms (code) ON DELETE
SET NULL;
ALTER TABLE rooms
ADD CONSTRAINT fk_player1 FOREIGN KEY (player1_id) REFERENCES players (id) ON DELETE
SET NULL,
ADD CONSTRAINT fk_player2 FOREIGN KEY (player2_id) REFERENCES players (id) ON DELETE
SET NULL;
CREATE INDEX idx_player_room_code ON players (room_code);
CREATE INDEX idx_room_status ON rooms (stat);