18 lines
490 B
SQL
18 lines
490 B
SQL
CREATE TABLE IF NOT EXISTS user_sessions (
|
|
id TEXT PRIMARY KEY,
|
|
user_id TEXT NOT NULL,
|
|
refresh_token_hash TEXT NOT NULL UNIQUE,
|
|
client_type TEXT NOT NULL,
|
|
user_agent TEXT,
|
|
ip TEXT,
|
|
expires_at TEXT NOT NULL,
|
|
revoked_at TEXT,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
last_seen_at TEXT NOT NULL,
|
|
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS user_sessions_user_idx
|
|
ON user_sessions (user_id, expires_at DESC);
|