Skip to main content

LMS Persistence Adapters

Summary

TrainingDbContext uses EF Core 8 with the PostgreSQL provider and owns the Training schema model. TenantEntity types receive global tenant query filters. Audit/timeline have equivalent filters; outbox and processed-event configuration are separate.

Course/value records use conversions; status/material/question enums use string storage; selected opaque structures use JSON storage. Cascade relationships cover course modules/materials, module lessons, learning-path links, and assessment questions. Indexes enforce selected uniqueness and query patterns.

An initial migration and model snapshot exist. Development startup can migrate and seed; production migration ownership is not defined. TrainingProgram’s period value is ignored by current EF configuration. No compatibility/backfill context, second database adapter, cache, concurrency token, or explicit transaction/retry policy is confirmed. Detailed schema is deferred to Epic 12.4.

Requires confirmation

Fine-grained authorization, production ownership, operational governance, and future architectural boundaries require confirmation where not implemented.

Source References

  • microservices/src/training-service/Infrastructure/TrainingDbContext.cs
  • microservices/src/training-service/Infrastructure/Persistence.cs
  • microservices/src/training-service/Infrastructure/Migrations/20260708143457_InitialTrainingSchema.cs
  • microservices/src/training-service/Infrastructure/DevelopmentSeeder.cs
  • microservices/src/training-service/training-service.csproj

See Also

Keywords

  • LMS technical architecture
  • Source-backed implementation

Revision Information

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