From 59a71f17c8ab5466de26f2c2bd2ab7be0c198c24 Mon Sep 17 00:00:00 2001 From: Atlaskor Date: Thu, 13 Nov 2025 15:28:49 +0000 Subject: [PATCH] Add server/src/schema.sql --- server/src/schema.sql | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 server/src/schema.sql diff --git a/server/src/schema.sql b/server/src/schema.sql new file mode 100644 index 0000000..ee61025 --- /dev/null +++ b/server/src/schema.sql @@ -0,0 +1,34 @@ +CREATE TABLE IF NOT EXISTS users ( + id SERIAL PRIMARY KEY, + username TEXT UNIQUE NOT NULL, + passhash TEXT NOT NULL, + created_at TIMESTAMPTZ DEFAULT now() +); + +CREATE TABLE IF NOT EXISTS characters ( + id SERIAL PRIMARY KEY, + user_id INTEGER REFERENCES users(id) ON DELETE CASCADE, + name TEXT NOT NULL, + x INTEGER NOT NULL DEFAULT 100, + y INTEGER NOT NULL DEFAULT 100, + level INTEGER NOT NULL DEFAULT 1, + xp BIGINT NOT NULL DEFAULT 0, + last_login TIMESTAMPTZ +); + +CREATE TABLE IF NOT EXISTS items ( + id SERIAL PRIMARY KEY, + key TEXT UNIQUE NOT NULL, + name TEXT NOT NULL, + stack_max INTEGER NOT NULL DEFAULT 999 +); + +CREATE TABLE IF NOT EXISTS inventory ( + id SERIAL PRIMARY KEY, + character_id INTEGER REFERENCES characters(id) ON DELETE CASCADE, + item_key TEXT NOT NULL, + qty INTEGER NOT NULL DEFAULT 0 +); + +CREATE UNIQUE INDEX IF NOT EXISTS inventory_unique_item +ON inventory (character_id, item_key);