fertig-classic-games/server/db/migrations/006_puzzle_progress.sql

15 lines
616 B
SQL

-- Per-user, per-game level progress for ordered single-player puzzle games
-- (Rush Hour and future Logic & Puzzle titles).
--
-- A single integer `levels_completed` records the highest contiguous level the
-- user has cleared. Because levels must be played in order, the next playable
-- level is always levels_completed + 1.
CREATE TABLE puzzle_progress (
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
slug TEXT NOT NULL,
levels_completed INTEGER NOT NULL DEFAULT 0,
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
PRIMARY KEY (user_id, slug)
);