Migration Plan
:::info Source
Sourced from services/catalog-service/MIGRATION_PLAN.md in the documentation repo.
:::
1. Rules
- Course + CourseVersion IDs stable.
- Visibility enum additive (new levels OK).
- Taxonomy tree evolution additive.
2. Database
Additive. Slug renames require careful migration (URLs + search indexes).
3. API
URL major on breaking. Sparse fieldsets additive.
4. Events
| Event | v | Policy |
|---|---|---|
catalog.course.created.v1 | v1 | Additive |
catalog.course_version.published.v1 | v1 | Additive |
catalog.taxonomy.updated.v1 | v1 | Additive |
5. Taxonomy Migration
- Restructuring requires tenant consent + notice.
- Batched ltree updates with validation.
6. Visibility Changes
- Tenant-scoped default visibility change affects new courses only.
- Existing courses unaffected.
7. Data Residency
- Courses pinned to tenant homeRegion.
- Cross-region discovery via global search index.
8. GDPR
- Erasure of authors: retain course (course != author PII); anonymize if needed.
9. Changelog
New visibility levels, taxonomy namespaces, CourseVersion metadata additions.