Files
project.linkedcorp.net/backend/database/migrations/033_user_sessions.sql
T
2026-10-26 16:42:19 -05:00

17 lines
772 B
SQL

CREATE TABLE IF NOT EXISTS user_sessions (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
public_id CHAR(32) NOT NULL UNIQUE,
user_id INT NOT NULL,
ip VARCHAR(45) NULL,
user_agent VARCHAR(512) NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_seen_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
expires_at DATETIME NOT NULL,
revoked_at DATETIME NULL,
revoked_by INT NULL,
revoke_reason VARCHAR(32) NULL,
INDEX idx_user_sessions_user (user_id, revoked_at, expires_at),
CONSTRAINT fk_user_sessions_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
CONSTRAINT fk_user_sessions_revoked_by FOREIGN KEY (revoked_by) REFERENCES users(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;