Skip to main content

Helpdesk Database Schema Reference

Audience

Developers, database engineers, QA, security, support and architects.

Summary

This is the sole authoritative logical inventory of 13 persisted entity sets. Each verified entity appears exactly once. Physical storage namespaces and generated provider statements are intentionally excluded.

Reference Content

EntityOwnershipRelationshipsTenant fieldsAuditConstraintsIndexesLifecycle
TicketCategoryHelpdesk tenant referenceNo configured inbound foreign keyTenantEntity fieldsCreation/compatibility auditRequired bounded name; tenant/name uniqueTenant; tenant/nameCreate/list; no update/delete API
TicketPriorityHelpdesk tenant referenceNo configured inbound foreign keyTenantEntity fieldsCreation/compatibility auditRequired bounded name; string levelTenant; tenant/name; tenant/rankCreate/list; no update/delete API
TicketCanonical tenant rootParent of three explicit cascade children; other identifiers scalarTenantEntity fieldsLifecycle audit/timeline/outboxRequired number/title; tenant/number and positive compat uniquenessTenant; compatibility; number; status; requester; assigneeCreate and mutate; no public delete
TicketAssignmentTicket child historyRequired Ticket foreign key; cascadeTenantEntity fieldsAssignment audit belongs to Ticket actionOptional email/note boundsTenant; tenant/ticket/timeAppend on assignment
TicketCommentTicket child historyRequired Ticket foreign key; cascadeTenantEntity fieldsOwn audit plus Ticket timeline/eventRequired bounded bodyTenant; tenant/ticket/timeAppend; no edit/delete API
TicketAttachmentTicket child metadataRequired Ticket foreign key; cascade; CommentId scalar onlyTenantEntity fieldsCreate/delete activityRequired external references, filename, hash, uploaderTenant; tenant/ticket/timeCreate/list/download; local-reference delete
SlaPolicyTenant configurationCategory/Priority identifiers scalar onlyTenantEntity fieldsCreation auditRequired name; converted duration/target; tenant/name uniqueTenant; tenant/nameCreate/list; active flag
TicketSlaPer-ticket SLA stateTicket/Policy identifiers scalar onlyTenantEntity fieldsBreach activity stored separatelyConverted target; required due stateTenant; tenant/ticket/target; tenant/breach/dueCreate; mark met/breached
TicketEscalationPer-ticket escalation stateTicket/SLA identifiers scalar onlyTenantEntity fieldsEscalation activity stored separatelyRequired bounded reason; converted statusTenant; tenant/ticket/levelCreate and status fields; no cleanup
TicketAuditLogAudit activityEntity identity stored as text; no foreign keyExplicit TenantIdIs the audit recordRequired entity/action/actor fields; JSON detailsTenant/timeAppend through helper; no retention
TicketTimelineTimeline activityEntity identity stored as text; no foreign keyExplicit TenantIdIs the timeline recordRequired entity/entry/actor fields; JSON metadataTenant/timeAppend through helper; no retention
ProcessedIntegrationEventIntegration idempotency stateNo configured relationshipsNo tenant field/filterNo separate activityRequired event type/outcome; EventId uniqueUnique EventIdPopulation path not found; no retention
OutboxMessageTransactional publication stateNo configured relationshipsTenant carried in payload, not filtered fieldProcessing status/error fieldsRequired event/payload/status/source; EventId uniqueUnique EventId; status/timePending/Failed read; processed/failed updates

Interpretation notes

TenantEntity contributes identifier, numeric tenant, optional tenant key, created time and updated time. Audit and timeline define tenant identity directly. Processed-event and outbox records do not inherit TenantEntity and do not have global tenant filters.

Only assignment, comment and attachment relationships are explicit database foreign keys. Other logical identity links are application-managed scalar fields.

Requires confirmation

Referential-integrity expansion, entity retention, tenant treatment of integration records, audit immutability and production schema governance require confirmation.

Source References

  • microservices/src/helpdesk-service/Domain/HelpdeskEntities.cs
  • microservices/src/helpdesk-service/Infrastructure/HelpdeskDbContext.cs
  • microservices/src/helpdesk-service/Infrastructure/Persistence.cs

See Also

Keywords

Helpdesk entity schema, persistence inventory, entity relationship, tenant storage.

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Next review: 2026-10-20