Appraisal Storage
Summary
Persistence mapping and child ownership for the Appraisal aggregate.
Audience
Backend engineers, database reviewers, architects, QA, support, operations, security reviewers, and product owners.
Overview
Appraisal is a tenant-scoped aggregate root with generated identity, a globally unique compatibility identity, logical cycle and subject references, lifecycle status and timestamps, reviewer references, an optional Workflow reference, and required owned overall evaluation storage.
Confirmed persistence behavior
- Appraisal owns Goal and Review children through configured one-to-many relationships.
- Both child relationships use required parent keys and cascade deletion.
- Cycle, subject, manager, HR, and approver references are logical identifiers, not configured foreign keys.
- Tenant/status, tenant/cycle, compatibility identity, and Workflow reference indexes are present.
- The compatibility identity is unique globally rather than tenant-prefixed.
- No concurrency marker or employee-cycle uniqueness constraint is configured.
- Audit and timeline links are logical rather than relational.
Classification
Implemented aggregate storage with Transitional compatibility identity and missing concurrency enforcement.
Requires confirmation
Global compatibility uniqueness, employee-cycle uniqueness, retention, concurrency, and reference validation require confirmation.
Diagram
Related Articles
See Also
Keywords
- Performance persistence
- Appraisal Storage
- Draft database documentation
Source References
microservices/src/performance-service/Infrastructure/PerformanceDbContext.csmicroservices/src/performance-service/Domain/Appraisal/Appraisal.csmicroservices/src/performance-service/Infrastructure/Migrations/PerformanceDbContextModelSnapshot.cs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly