fix carrier history action schema upgrade

This commit is contained in:
2026-08-24 11:36:25 +08:00
parent 287591c75f
commit 044678f65c
3 changed files with 48 additions and 0 deletions
@@ -10428,6 +10428,26 @@ CREATE TABLE IF NOT EXISTS fl_carrier_schedule_query_operation (
CONSTRAINT chk_carrier_schedule_operation_status CHECK (status IN ('PROCESSING','SUCCESS'))
) ENGINE=InnoDB COMMENT='船司查询写操作幂等与请求摘要';
-- CREATE TABLE IF NOT EXISTS 不会更新已有表的 CHECK。历史开发库仍可能只允许
-- CREATE/ATTEMPT/MANUAL_RESULT,必须在人工节点和自动节点写入前收敛为当前动作集。
DROP PROCEDURE IF EXISTS migrate_carrier_schedule_history_action_check;
DELIMITER $$
CREATE PROCEDURE migrate_carrier_schedule_history_action_check()
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.table_constraints
WHERE constraint_schema=DATABASE() AND table_name='fl_carrier_schedule_query_history'
AND constraint_name='chk_carrier_schedule_history_action' AND constraint_type='CHECK') THEN
ALTER TABLE fl_carrier_schedule_query_history DROP CHECK chk_carrier_schedule_history_action;
END IF;
ALTER TABLE fl_carrier_schedule_query_history
ADD CONSTRAINT chk_carrier_schedule_history_action CHECK
(action IN ('CREATE','AUTO_CREATE','MANUAL_RESULT','MANUAL_NODE','NODE_OBSERVED',
'EXCEPTION_OBSERVED','PROVIDER_QUERY','STOP'));
END$$
DELIMITER ;
CALL migrate_carrier_schedule_history_action_check();
DROP PROCEDURE IF EXISTS migrate_carrier_schedule_history_action_check;
DROP TRIGGER IF EXISTS trg_carrier_schedule_query_before_insert;
DELIMITER $$
CREATE TRIGGER trg_carrier_schedule_query_before_insert BEFORE INSERT ON fl_carrier_schedule_query FOR EACH ROW