Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: If2c9c3e3af62bbf9f33a97be89ac40bc6a6a6964
18 lines
603 B
SQL
18 lines
603 B
SQL
-- Session persistence for database-backed sessions
|
|
-- Replaces in-memory session storage
|
|
|
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
session_token TEXT PRIMARY KEY NOT NULL,
|
|
user_id TEXT,
|
|
username TEXT NOT NULL,
|
|
role TEXT NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL,
|
|
expires_at TIMESTAMPTZ NOT NULL,
|
|
last_accessed TIMESTAMPTZ NOT NULL
|
|
);
|
|
|
|
-- Index for efficient cleanup of expired sessions
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_expires_at ON sessions(expires_at);
|
|
|
|
-- Index for listing sessions by username
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_username ON sessions(username);
|