CREATE TABLE IF NOT EXISTS user_session ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), "user" UUID NOT NULL REFERENCES "user"(id), token_hash TEXT NOT NULL, device_name TEXT, user_agent TEXT, ip_address TEXT, last_seen_at TIMESTAMPTZ, expires_at TIMESTAMPTZ NOT NULL, is_revoked BOOLEAN NOT NULL DEFAULT FALSE, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() );