-- 0002_sessions.sql -- Create sessions table for auth tokens CREATE TABLE sessions ( id UUID PRIMARY KEY, user_id UUID NOT NULL REFERENCES users(id), user_email_id UUID REFERENCES user_emails(id), token_type TEXT NOT NULL, auth_method TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), expires_at TIMESTAMPTZ NOT NULL, revoked_at TIMESTAMPTZ, ip_address INET, user_agent TEXT, is_used BOOLEAN DEFAULT FALSE ); -- Index for user session lookups (logout all, etc.) CREATE INDEX sessions_user_id_idx ON sessions (user_id); -- Index for expiration cleanup CREATE INDEX sessions_expires_at_idx ON sessions (expires_at); -- Index for token type filtering CREATE INDEX sessions_token_type_idx ON sessions (token_type);