fix(db): add SetNull cascade on Assignment→DemandRequirement + composite indexes

Prevents orphaned Assignment rows when a DemandRequirement is deleted.
Adds (resourceId, status, endDate) and (projectId, status, endDate)
indexes to support capacity range queries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-09 14:03:11 +02:00
parent d3bfa8ca98
commit aebe5bc57d
3 changed files with 14 additions and 1 deletions
+3 -1
View File
@@ -1330,7 +1330,7 @@ model Assignment {
status AllocationStatus @default(PROPOSED)
metadata Json @db.JsonB @default("{}")
demandRequirement DemandRequirement? @relation(fields: [demandRequirementId], references: [id])
demandRequirement DemandRequirement? @relation(fields: [demandRequirementId], references: [id], onDelete: SetNull)
resource Resource @relation(fields: [resourceId], references: [id])
project Project @relation(fields: [projectId], references: [id])
roleEntity Role? @relation(fields: [roleId], references: [id])
@@ -1346,6 +1346,8 @@ model Assignment {
@@index([status])
@@index([resourceId, status, startDate])
@@index([projectId, startDate, endDate])
@@index([resourceId, status, endDate])
@@index([projectId, status, endDate])
@@map("assignments")
}