Files
Isles-Of-Medievalkor/server/src/schema.sql
2025-11-13 15:36:45 +00:00

31 lines
841 B
SQL

-- Characters are now the primary login entity.
-- Each character has its own username + password hash.
CREATE TABLE IF NOT EXISTS characters (
id SERIAL PRIMARY KEY,
username TEXT UNIQUE NOT NULL,
passhash 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);