Skip to main content

LMS Learning Path Storage

Summary

Source-backed LearningPath and ordered course-link persistence reference.

Audience

Engineering, QA, architecture, product, and data-governance reviewers.

Reference Content

LearningPath is a tenant entity with name, description, and an owned collection of ordered link rows. Tenant-plus-name is unique. Each link has a generated identifier, tenant metadata, path identifier, course identifier, and sort position.

The path-to-link relationship is required and cascades on path deletion. A unique composite index prevents the same course identifier from appearing twice in one tenant/path, and another index supports ordered traversal. The link's course identifier is a logical reference only; the model snapshot contains no Course foreign key for it.

Creation removes duplicate course identifiers and assigns order. It does not verify every course before persistence or enforce prerequisite/progression behavior. List queries include links and project the stored order; completion roll-up is query-derived elsewhere.

Source References

  • microservices/src/training-service/Infrastructure/TrainingDbContext.cs
  • microservices/src/training-service/Domain/TrainingEntities.cs
  • microservices/src/training-service/Api/TrainingEndpoints.cs
  • microservices/src/training-service/Infrastructure/Migrations/TrainingDbContextModelSnapshot.cs

See Also

Keywords

  • LMS database
  • Training persistence
  • Source-backed model

Revision Information

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