fix(structures): align Structure.delegation_code FK action with Prisma default
CI / scan (pull_request) Successful in 4m18s
CI / commits (pull_request) Successful in 4m19s
CI / check (pull_request) Failing after 4m32s
CI / a11y (pull_request) Successful in 2m55s
CI / perf (pull_request) Successful in 7m50s

ON DELETE RESTRICT was Prisma's default for required relations;
Structure.delegation is optional (`Delegation?`), so the matching
default is ON DELETE SET NULL. Mismatch caused `prisma migrate dev`
to detect drift and prompt for a corrective migration on every run.

Caught locally on first VM-side validation. No production deployment
of #228 yet, so editing the migration in place rather than shipping a
corrective sibling - keeps the repo's migration history minimal.

Inline comment at the offending line explains the rule (nullable
Prisma relation -> SET NULL) to head off the same mistake when
ADR-0026 PR 1 adds optional FKs (Person.user, User.scopes).
This commit is contained in:
Julien Gautier
2026-05-26 11:56:47 +02:00
parent ba4cdcee7a
commit b625090c63
@@ -83,9 +83,13 @@ ALTER TABLE "delegations" ADD CONSTRAINT "delegations_region_code_fkey"
ON DELETE RESTRICT ON UPDATE CASCADE; ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey -- AddForeignKey
-- ON DELETE SET NULL because delegationCode is optional in the Prisma
-- schema (Structure.delegation Delegation?). Matches Prisma's default
-- for nullable relations; the drift gate would otherwise flag this
-- on every `prisma migrate dev`.
ALTER TABLE "structures" ADD CONSTRAINT "structures_delegation_code_fkey" ALTER TABLE "structures" ADD CONSTRAINT "structures_delegation_code_fkey"
FOREIGN KEY ("delegation_code") REFERENCES "delegations"("code") FOREIGN KEY ("delegation_code") REFERENCES "delegations"("code")
ON DELETE RESTRICT ON UPDATE CASCADE; ON DELETE SET NULL ON UPDATE CASCADE;
-- ------------------------------------------------------------------ -- ------------------------------------------------------------------
-- Test-tenant reference seed (per ADR-0027 §"Seeding posture"). -- Test-tenant reference seed (per ADR-0027 §"Seeding posture").