[CLAUDE] Infra: gate SeedDemoMasterData sau DemoSeed:Disabled (chống resurrect NCC demo go-live)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m10s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m10s
Sau wipe 18 NCC demo (scripts/s91-wipe-golive.sql, go-live anh Kiệt FDC 26/06), phát hiện SeedDemoMasterDataAsync chạy UNGATED + per-code idempotent (skip-if-code-exists else Add) -> mỗi restart / IIS recycle TỰ ADD lại 18 NCC demo (NCC-VLXD / CDT-VIN / Sun Group ...) -> undo danh sách NCC sạch anh Kiệt vừa chốt. Fix: gate SeedDemoMasterDataAsync (Supplier + Project DEMO) sau cờ DemoSeed:Disabled, mirror cách Contracts/PE/Workflow demo đã gated. Prod hiệu lực Disabled=true (appsettings.json deployed; appsettings.Production.json render từ .example KHÔNG có DemoSeed -> fallback appsettings.json=true, đúng fallback đã giữ contracts/PE gated nhiều tháng). -> SKIP -> wipe BỀN qua restart. Dev Disabled=false -> vẫn seed demo local. Master data THẬT (SeedRealMasterDataAsync: 62 dự án + 71 hạng mục + 3 NCC) ungated -> KHÔNG ảnh hưởng. User test (38) đã an toàn từ S89 (gỡ khỏi mảng SeedDemoUsers). Build slnx OK 0 warn / 0 err. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -71,11 +71,11 @@ public static class DbInitializer
|
||||
// - SeedDemoPurchaseEvaluationsAsync ([DEMO] PE 4 sample)
|
||||
// - SeedSampleApprovalWorkflowsV2Async (V2 sample mẫu UAT cho type B)
|
||||
// - SeedSampleContractWorkflowV2Async (V2 sample mẫu UAT cho Contract — Mig 32 Plan B Chunk A2)
|
||||
// GIỮ: SeedRoles, SeedAdmin, SeedDepartments, SeedDemoUsers (30 user UAT),
|
||||
// SeedMenuTree, SeedAdminPermissions, SeedDemoMasterData (Supplier/Project
|
||||
// master), SeedContractTemplates (file template), SeedCatalogs, backfill
|
||||
// helpers. Production UAT clean slate: bro toàn quyền setup workflow mới
|
||||
// qua Designer.
|
||||
// GIỮ (ungated): SeedRoles, SeedAdmin, SeedDepartments, SeedDemoUsers (chỉ user THẬT
|
||||
// — S89 đã gỡ user test khỏi mảng), SeedMenuTree, SeedAdminPermissions,
|
||||
// SeedContractTemplates (file template), SeedCatalogs, SeedRealMasterData (62 dự án +
|
||||
// 71 hạng mục + 3 NCC thật). [S91 2026-06-26] SeedDemoMasterData (Supplier/Project
|
||||
// DEMO) ĐÃ chuyển sang GATED — prod skip để không resurrect 18 NCC demo đã wipe go-live.
|
||||
var config = sp.GetRequiredService<IConfiguration>();
|
||||
var demoSeedDisabled = config.GetValue<bool>("DemoSeed:Disabled");
|
||||
if (demoSeedDisabled)
|
||||
@ -108,6 +108,13 @@ public static class DbInitializer
|
||||
await SeedMeetingRoomsAsync(db, logger);
|
||||
await SeedMenuTreeAsync(db, logger);
|
||||
await SeedAdminPermissionsAsync(db, roleManager, logger);
|
||||
// [S91 2026-06-26 — anh Kiệt FDC go-live] GATE demo master (Supplier/Project demo)
|
||||
// sau cờ DemoSeed:Disabled. Trước đây ungated → SeedDemoMasterDataAsync per-code
|
||||
// idempotent RESURRECT 18 NCC demo (NCC-VLXD/CDT-VIN/Sun Group…) mỗi restart sau khi
|
||||
// đã wipe (scripts/s91-wipe-golive.sql). Prod Disabled=true → SKIP → giữ wipe BỀN;
|
||||
// Dev Disabled=false → vẫn seed demo local. Master data THẬT (62 dự án + 71 hạng mục
|
||||
// + 3 NCC) đến từ SeedRealMasterDataAsync (ungated, dưới) — KHÔNG ảnh hưởng.
|
||||
if (!demoSeedDisabled)
|
||||
await SeedDemoMasterDataAsync(db, logger);
|
||||
await SeedContractTemplatesAsync(db, logger);
|
||||
if (!demoSeedDisabled)
|
||||
|
||||
Reference in New Issue
Block a user