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>
62 lines
2.3 KiB
Transact-SQL
62 lines
2.3 KiB
Transact-SQL
-- 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 ===';
|