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.csmicroservices/src/training-service/Infrastructure/Persistence.csmicroservices/src/training-service/Infrastructure/Migrations/20260708143457_InitialTrainingSchema.csmicroservices/src/training-service/Infrastructure/DevelopmentSeeder.csmicroservices/src/training-service/training-service.csproj
Related Articles
See Also
Keywords
- LMS technical architecture
- Source-backed implementation
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly