CREATE TABLE IF NOT EXISTS desktop_client_presence ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 'Presence record ID', user_id BIGINT NOT NULL COMMENT 'Authenticated user ID', client_id CHAR(36) NOT NULL COMMENT 'Persistent desktop installation ID', client_name VARCHAR(100) NOT NULL DEFAULT 'PDD Operations Automation' COMMENT 'Desktop application name', client_version VARCHAR(32) NULL COMMENT 'Desktop application version', platform VARCHAR(32) NULL COMMENT 'Operating system platform', platform_version VARCHAR(128) NULL COMMENT 'Operating system version', device_name VARCHAR(255) NULL COMMENT 'Device hostname', ip_address VARCHAR(64) NULL COMMENT 'Latest client IP address', user_agent VARCHAR(500) NULL COMMENT 'Latest HTTP user agent', online_since_at DATETIME(3) NOT NULL COMMENT 'Current online session start time', last_seen_at DATETIME(3) NOT NULL COMMENT 'Latest heartbeat time', offline_at DATETIME(3) NULL COMMENT 'Explicit offline time', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'Created time', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT 'Updated time', UNIQUE KEY uk_desktop_presence_user_client (user_id, client_id), INDEX idx_desktop_presence_last_seen (last_seen_at), INDEX idx_desktop_presence_user (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Desktop client online presence';