Skip to content

Foreign Key Relation Actions

qhanson55 edited this page Jul 13, 2026 · 8 revisions

Developer Resource: Prisma Schema Referential Actions (Cascade & Restrict)

This wiki document outlines the relational actions (onDelete and onUpdate) configured for every foreign key relationship.


Schema: public

This schema contains the core business domain entities, including activities, projects, permits, and users.

Model Foreign Key (Field) References (Target) onDelete onUpdate
access_request userId user(userId) Cascade Cascade
groupId group(groupId) Cascade Cascade
activity initiativeId initiative(initiativeId) Restrict Cascade
activity_contact activityId activity(activityId) Cascade Cascade
contactId contact(contactId) Cascade Cascade
contact userId user(userId) Cascade Cascade
document activityId activity(activityId) NoAction Cascade
draft activityId activity(activityId) Cascade Cascade
draftCode draft_code(draftCode) Cascade Cascade
electrification_project activityId activity(activityId) Cascade Cascade
assignedUserId user(userId) SetNull Cascade
projectCategory electrification_project_category_code(code) SetNull Cascade
projectType electrification_project_type_code(code) SetNull Cascade
enquiry activityId activity(activityId) Cascade Cascade
assignedUserId user(userId) SetNull Cascade
general_project activityId activity(activityId) Cascade Cascade
assignedUserId user(userId) SetNull Cascade
businessArea business_area_code(code) SetNull Cascade
housing_project activityId activity(activityId) Cascade Cascade
assignedUserId user(userId) SetNull Cascade
note noteHistoryId note_history(noteHistoryId) Cascade Cascade
note_history activityId activity(activityId) Cascade Cascade
escalationType escalation_type_code(code) SetNull Cascade
permit activityId activity(activityId) Cascade Cascade
onHoldCode pies_on_hold_code(code) SetNull Cascade
permitTypeId permit_type(permitTypeId) Restrict Cascade
stage permit_stage_code(code) Restrict Cascade
state permit_state_code(code) Restrict Cascade
permit_note permitId permit(permitId) Cascade Cascade
permit_tracking permitId permit(permitId) Cascade Cascade
sourceSystemKindId source_system_kind(sourceSystemKindId) SetNull Cascade
permit_type sourceSystem source_system_code(code) SetNull Cascade
permit_type_initiative_xref initiativeId initiative(initiativeId) Cascade Cascade
permitTypeId permit_type(permitTypeId) Cascade Cascade
permit_type_source_system... permitTypeId permit_type(permitTypeId) Cascade Cascade
sourceSystemKindId source_system_kind(sourceSystemKindId) Cascade Cascade
source_system_kind sourceSystem source_system_code(code) Restrict Cascade
user idp identity_provider(idp) Restrict Cascade

Schema: yars

This schema primarily handles access control, authorization (roles, policies, attributes), and group mapping. Every documented foreign key in the yars schema enforces a Cascade configuration for both updates and deletions.

Model Foreign Key (Field) References (Target) onDelete onUpdate
attribute_group attributeId attribute(attributeId) Cascade Cascade
groupId group(groupId) Cascade Cascade
group initiativeId initiative(initiativeId) Cascade Cascade
group_role groupId group(groupId) Cascade Cascade
roleId role(roleId) Cascade Cascade
policy actionId action(actionId) Cascade Cascade
resourceId resource(resourceId) Cascade Cascade
policy_attribute attributeId attribute(attributeId) Cascade Cascade
policyId policy(policyId) Cascade Cascade
role_policy policyId policy(policyId) Cascade Cascade
roleId role(roleId) Cascade Cascade
subject_group groupId group(groupId) Cascade Cascade

Clone this wiki locally