Skip to main content

Leave Database Compatibility and Transition

Summary

The monolith and extracted Leave Service maintain separate persistence models; compatibility routes do not prove synchronized data ownership.

Audience

Architects, backend developers, QA, DevOps, support, and cutover owners.

Concept

AreaLegacy modelExtracted modelTransition implicationSource
RequestsNumeric identity, employee link, integer days, nullable tenantNumeric identity, employee reference, decimal days, workflow/audit/timelineIdentifier and precision parity require reconciliationModels/LeaveRequest.cs; microservices/src/leave-service/Domain/Leave/LeaveRequest.cs
BalancesOpening/accrued/used/adjustedAdds carried-forward and encashed valuesNet-new columns have no legacy parityModels/LeaveBalance.cs; microservices/src/leave-service/Domain/Leave/LeaveBalance.cs
CalendarLegacy Holiday/WeeklyOff objectsLeave-owned equivalents; Attendance weekly-off overlapCalendar ownership and paid metadata need parity testsModels/Holiday.cs; Models/WeeklyOff.cs
Types/policiesLegacy configuration differsFirst-class Leave objectsMapping/backfill is not confirmedmicroservices/src/leave-service/Domain/Leave/LeaveConfig.cs

No source-confirmed synchronization pipeline, backfill runner, reconciliation report, dual-write transaction, or database-level replication was found. Cutover can therefore change which independent store a request observes. Rollback requires explicit ownership and reconciliation decisions; gateway rollback alone does not reconcile divergent data. Direct production database procedures are intentionally excluded.

Source References

  • microservices/src/leave-service/Infrastructure/LeaveDbContext.cs
  • Data/AppDbContext.cs
  • Models/LeaveRequest.cs
  • Models/LeaveBalance.cs
  • Models/Holiday.cs
  • Models/WeeklyOff.cs
  • microservices/src/gateway-api/Program.cs

See Also

Keywords

  • Monolith coexistence
  • Reconciliation
  • Cutover boundary

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-15
  • Review cycle: Quarterly