From 919605e259b746a36d5a3bd0164d80db62ef9582 Mon Sep 17 00:00:00 2001 From: Thomas Jung Date: Sun, 1 Nov 2026 22:08:32 -0600 Subject: [PATCH] fix(cap): disable draft_admin_integrity under [development] profile (SQLite) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cds.fiori.draft_admin_integrity: true requires DB-level ON DELETE CASCADE constraints on every draft table's DraftAdministrativeData_DraftUUID FK (generated as .hdbconstraint, HANA-only — see srv/lib/draft-integrity-preflight.js, which is explicitly isHanaKind-gated). Unit tests run under the `development` profile on in-memory SQLite, where those constraints do not exist. Without the cascade, activating a draft leaves the active row with HasDraftEntity=true and DELETE(IsActiveEntity=true) returns 403 DRAFT_ACTIVE_DELETE_FORBIDDEN_DRAFT_EXISTS. This is universal to every draft-enabled entity (reproduced on Missions as well as GridTemplates), not a per-test cleanup gap — the discard-then-delete band-aid in #2909 only passed where the delete sat in a swallowed afterAll. Scope the flag off under [development] only. hybrid (--profile hybrid) and production run on HANA and keep the flag ON, so the optimized-deletion behavior that #2909 depends on is unchanged in every environment that has the constraints. Fixes the puzzle-grid-templates unit failure introduced by the CAP 10.2 upgrade. --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 864400628..93cddf313 100644 --- a/package.json +++ b/package.json @@ -481,6 +481,9 @@ "swagger": { "basePath": "/$api-docs", "diagram": true + }, + "fiori": { + "draft_admin_integrity": false } }, "mcp": {