15 lines
591 B
SQL
15 lines
591 B
SQL
CREATE TABLE IF NOT EXISTS sessions (
|
|
id VARCHAR(128) PRIMARY KEY,
|
|
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
expires_at TIMESTAMPTZ NOT NULL,
|
|
last_seen_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
user_agent TEXT
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_sessions_expires_at ON sessions(expires_at);
|
|
|
|
COMMENT ON TABLE sessions IS 'DB-backed application sessions';
|
|
COMMENT ON COLUMN sessions.id IS 'Opaque session identifier stored in HttpOnly cookie';
|