Project Issues Schema
Project issue records provide a shared lifecycle model with typed subcategories and optional project association.
Tables
issues
Parent issue object.
- Primary key:
id - Required fields:
tenant_id,issue_type,title,status,priority,opened_at - Optional fields:
project_id,description,closed_at - Foreign keys:
tenant_id -> tenants.idproject_id -> projects.id(ON DELETE SET NULL)
Allowed issue_type values:
known_problemservice_requestchangepost_incident_analysisincidentrepair
Allowed status values:
openin_progressresolvedcancelled
Allowed priority values:
lownormalhighcritical
Checks:
- non-empty title
closed_atis null orclosed_at >= opened_at
asset_repairs (issue subtype bridge)
Repair subtype details live in Assets but link one-to-one to parent issue.
- Link field:
issue_id - Foreign key:
issue_id -> issues.id(ON DELETE CASCADE) - Unique index enforces one repair detail row per issue
Relationship Notes
- Issues provide a single shared lifecycle model across issue subtypes.
- Repair subtype records keep asset-specific fields while inheriting issue lifecycle state.