[CLAUDE] Scripts Docs: Chunk S — Wipe ALL workflows (UAT clean slate hoàn toàn)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 3m22s

Bro chốt sau Plan R: "các cái demo quy trình cũ -> xóa hết luôn đi nhé"

State post-Plan R: 4 workflows còn lại đều seed demo cumulative:
- V2 `QT-DN-PA-V2-001 v2` "Quy trình duyệt NCC và Giải pháp (mẫu UAT)"
- V2 `QT-DN-V2-001 v16` "QT Duyệt So Sánh Giá NCC-TP" (sample seed default)
- V1 `QT-DN-A v3` "Quy trình Duyệt NCC (v01) (clone)(clone)"
- V1 `QT-DN-B v1` "Quy trình Duyệt NCC và Giải pháp (v01)" (sample seed)

Bro AskUserQuestion chốt Option A (Recommended): wipe ALL 4 workflows
→ UAT clean slate hoàn toàn. Em main solo execute (Investigator audit Plan
R đã cover scope precedent + backup rollback Plan R còn dùng được).

Backup rollback ready: C:\Backup\SolutionErp_pre_cleanup_2026-05-15.bak
(Plan R, 18.5MB) — capture full state pre-cleanup, reuse cho Plan S rollback.

Execute via scp scripts/plan-s-wipe-all-workflows.sql + sqlcmd -i:
- DELETE ALL ApprovalWorkflows (2 rows cascade Steps+Levels)
- DELETE ALL PurchaseEvaluationWorkflowDefinitions (2 rows cascade
  Steps+Approvers)

Post-state cumulative Plan R + S:
- PE: 35 → 0
- V2 workflows: 17 → 2 → 0
- V1 workflows: 4 → 2 → 0
- Cascade Steps + Levels + Approvers: 0 (all entities wiped)

BE smoke verify 5/5 endpoints 200 post-cleanup:
- /api/auth/login → OK (admin token len 468)
- /api/purchase-evaluations → 200 (empty list)
- /api/approval-workflows-v2 → 200 (empty list)
- /api/pe-workflows → 200 (empty list)
- /api/users + /api/menus → 200

→ KHÔNG crash startup (Plan F precedent avoid: no Contract pin to V1, PE
đã wipe Plan R, nên drop workflow safe).

Hậu quả expected:
- User KHÔNG tạo được phiếu mới qua Workspace (Select workflow empty)
- Admin Designer phải seed workflow mới from scratch để UAT continue
- Total cleanup cumulative ~670 rows wiped (35 PE + 17 V2 + 4 V1 + ~600
  cascade child)

Stats final S23 t9:
- 31 mig · 59 tables · ~145 endpoints · 34 FE pages · 111 test unchanged
- 47 gotcha · 20 memory · 6 skills · 4 sub-agents
- **0 PE + 0 workflow** — database UAT clean slate hoàn toàn

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-05-15 14:52:55 +07:00
parent 5cbf516a78
commit c4d5704269
3 changed files with 66 additions and 2 deletions

View File

@ -0,0 +1,61 @@
-- Plan S S23 t9 (2026-05-15) — Wipe ALL workflows (UAT clean slate hoàn toàn)
-- Bro request: "các cái demo quy trình cũ -> xóa hết luôn đi nhé"
-- Current state post-Plan R: 2 V2 ghim + 2 V1 active (đều seed demo cumulative)
-- Backup rollback: C:\Backup\SolutionErp_pre_cleanup_2026-05-15.bak (Plan R)
-- Hậu quả: user KHÔNG tạo được phiếu mới (Workspace Select empty) cho đến khi
-- admin Designer seed workflow mới from scratch.
USE SolutionErp;
GO
SET QUOTED_IDENTIFIER ON;
SET ANSI_NULLS ON;
GO
PRINT '=== Plan S — Wipe ALL workflows START ===';
PRINT 'Pre-state:';
SELECT 'V2 workflows' AS Entity, COUNT(*) AS Cnt FROM ApprovalWorkflows
UNION ALL SELECT 'V1 workflows', COUNT(*) FROM PurchaseEvaluationWorkflowDefinitions;
PRINT '';
PRINT '=== Step 1: DELETE ALL V2 ApprovalWorkflows (cascade Steps + Levels) ===';
BEGIN TRY
BEGIN TRANSACTION DeleteAllV2;
DELETE FROM ApprovalWorkflows;
DECLARE @V2Cnt INT = @@ROWCOUNT;
PRINT 'V2 deleted: ' + CAST(@V2Cnt AS NVARCHAR(10));
COMMIT TRANSACTION DeleteAllV2;
PRINT 'V2 COMMIT OK';
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION DeleteAllV2;
PRINT 'V2 FAILED — rollback. Error: ' + ERROR_MESSAGE();
THROW;
END CATCH;
PRINT '';
PRINT '=== Step 2: DELETE ALL V1 PurchaseEvaluationWorkflowDefinitions (cascade Steps + Approvers) ===';
BEGIN TRY
BEGIN TRANSACTION DeleteAllV1;
DELETE FROM PurchaseEvaluationWorkflowDefinitions;
DECLARE @V1Cnt INT = @@ROWCOUNT;
PRINT 'V1 deleted: ' + CAST(@V1Cnt AS NVARCHAR(10));
COMMIT TRANSACTION DeleteAllV1;
PRINT 'V1 COMMIT OK';
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION DeleteAllV1;
PRINT 'V1 FAILED — rollback. Error: ' + ERROR_MESSAGE();
THROW;
END CATCH;
PRINT '';
PRINT '=== Post-state (expect 0/0) ===';
SELECT 'V2 workflows' AS Entity, COUNT(*) AS Cnt FROM ApprovalWorkflows
UNION ALL SELECT 'V1 workflows', COUNT(*) FROM PurchaseEvaluationWorkflowDefinitions
UNION ALL SELECT 'V2 Steps (cascade)', COUNT(*) FROM ApprovalWorkflowSteps
UNION ALL SELECT 'V2 Levels (cascade)', COUNT(*) FROM ApprovalWorkflowLevels
UNION ALL SELECT 'V1 Steps (cascade)', COUNT(*) FROM PurchaseEvaluationWorkflowSteps
UNION ALL SELECT 'V1 Approvers (cascade)', COUNT(*) FROM PurchaseEvaluationWorkflowStepApprovers;
PRINT '=== Plan S complete ===';