对齐Debug EML V4入站模型

This commit is contained in:
andy
2026-07-20 19:53:44 +07:00
parent 626e87abdb
commit 038fdc3c8d
17 changed files with 175 additions and 37 deletions

View File

@@ -123,7 +123,67 @@ COMMIT;
如果确认要清理所有开发 / 测试酒店的旧任务,可去掉上述 SQL 中所有 `hotel_id = @hotel_id` 条件。不要在生产环境执行这种全量清理。
## 6. 执行后验证
## 6. 单个 Debug EML 旧任务残留定点清理
当联调时已明确某个旧 `workflow_reservation_task` 是 V4 Debug EML 误走历史 V2/V3 profile 产生的残留,可按旧 task ID 定点清理。该脚本仍只适用于开发 / 测试环境,不清理 SourceMessage、V4 order task、V4 cards、来源通知、目录、账号权限或酒店配置。
执行前应先从当次排查记录中确认旧 `workflow_reservation_task.id`,只把该 ID 填入 `@legacy_task_id`。Debug run ID、SourceMessage ID 只作为人工核对线索,不写入清理条件,避免误清理来源消息或 V4 数据。
```sql
-- 必填:替换为当次排查确认的旧 workflow_reservation_task.id。
-- 保持 NULL 时下方 SQL 不会命中任何旧任务。
SET @legacy_task_id = NULL;
SELECT id,
hotel_id,
source_message_id,
field_contract_version,
system_task_type,
route_code,
task_status
FROM workflow_reservation_task
WHERE id = @legacy_task_id;
START TRANSACTION;
DELETE attempt
FROM workflow_reservation_opera_operation_attempt attempt
WHERE attempt.task_id = @legacy_task_id;
DELETE operation_row
FROM workflow_reservation_opera_operation operation_row
WHERE operation_row.task_id = @legacy_task_id;
DELETE audit_row
FROM workflow_reservation_audit_log audit_row
WHERE audit_row.task_id = @legacy_task_id;
UPDATE workflow_reservation_invoice_generation invoice_row
SET invoice_row.task_id = NULL,
invoice_row.updated_at = UTC_TIMESTAMP(6)
WHERE invoice_row.task_id = @legacy_task_id;
DELETE card
FROM workflow_reservation_task_card card
WHERE card.task_id = @legacy_task_id;
UPDATE workflow_reservation_order order_row
SET order_row.created_from_task_id = NULL,
order_row.updated_at = UTC_TIMESTAMP(6)
WHERE order_row.created_from_task_id = @legacy_task_id;
DELETE task
FROM workflow_reservation_task task
WHERE task.id = @legacy_task_id;
COMMIT;
SELECT COUNT(*) AS remaining_legacy_task_count
FROM workflow_reservation_task
WHERE id = @legacy_task_id;
```
## 7. 执行后验证
单酒店清理时使用以下验证 SQL