15 lines
616 B
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)
|
|
);
|