You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Track the full data-preserving schema redesign for WOD Tracker. The goal is to keep PostgreSQL, replace polymorphic metrics with structured domain columns, preserve existing data through additive migrations/backfills, support hundreds of programs posting daily workouts, support lazy user-specific workout instances, and prepare for future scaling recommendations from movement-level logged history.
Backfills must copy existing data from old fields/tables into new fields/tables.
Reads can temporarily prefer new columns and fall back to legacy metrics during migration.
Writes should switch to new columns only after backfill.
Legacy metric storage should be removed only after tests and parity checks pass.
Any unmapped metric should be reported during migration instead of silently dropped.
Acceptance Criteria
All child issues are linked from this epic.
Overall migration order is clear.
Destructive cleanup only happens after parity is verified.
Existing seeded and user-created data is preserved.
The resulting schema is structured enough to support future movement-level scaling recommendations.
Assumptions
PostgreSQL remains the source-of-truth database.
The first goal is structured data quality, not immediate ML.
Constantly varied workouts mean recommendations should generalize from movements, movement families, loads, volume, time domains, and logged performance.
Personalized workout copies should be created lazily, only after user engagement.
Summary
Track the full data-preserving schema redesign for WOD Tracker. The goal is to keep PostgreSQL, replace polymorphic
metricswith structured domain columns, preserve existing data through additive migrations/backfills, support hundreds of programs posting daily workouts, support lazy user-specific workout instances, and prepare for future scaling recommendations from movement-level logged history.Implementation Issues
Recommended Order
Data Preservation Rules
Acceptance Criteria
Assumptions