Files
prop-ai-hr/backend/script/sql/update/aihr_20260804_pending_clarification_mysql8.sql
admin e9d3cffd1c fix(aihr): drop AFTER clause from pending clarification migration
Remote aihr_knowledge_conversation predates the grounded state columns,
so AFTER state_json fails; column position is irrelevant.
2026-08-05 00:55:25 +08:00

31 lines
1.3 KiB
SQL

-- Pending clarification state for the knowledge Q&A clarification loop. Additive and idempotent on MySQL 8.
-- The conversation row keeps at most one suspended clarification; it is resolved (answered,
-- given up or replaced by a new topic) on the next turn and never survives the 30-minute expiry.
SET @aihr_pending_conversation_exists := (
SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name = 'aihr_knowledge_conversation'
);
SET @aihr_pending_clarification_exists := (
SELECT COUNT(*)
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = 'aihr_knowledge_conversation'
AND column_name = 'pending_clarification_json'
);
SET @aihr_pending_clarification_ddl := IF(
@aihr_pending_conversation_exists = 1 AND @aihr_pending_clarification_exists = 0,
'ALTER TABLE `aihr_knowledge_conversation` ADD COLUMN `pending_clarification_json` varchar(1000) DEFAULT NULL COMMENT ''挂起的澄清''',
'SELECT 1'
);
PREPARE aihr_pending_clarification_stmt FROM @aihr_pending_clarification_ddl;
EXECUTE aihr_pending_clarification_stmt;
DEALLOCATE PREPARE aihr_pending_clarification_stmt;
SET @aihr_pending_conversation_exists := NULL;
SET @aihr_pending_clarification_exists := NULL;
SET @aihr_pending_clarification_ddl := NULL;