All work Case 01
  • Data migration
  • Education
  • 10 weeks
  • 3 people

Moving five years of course and booking data to a new platform, with nothing lost

We migrated a high-end course platform's five-year-old database to a modern WordPress setup, keeping every link between courses, bookings and participants.

// the challenge

An e-learning business with 200+ courses and 3,000+ participants was rebuilding its WordPress site. Five years of data had to move across, and every student had to stay linked to their bookings and completed courses.

// what we did

We mapped how everything connects, designed a cleaner structure, then moved the data in order: courses, then participants, then bookings. Automated checks compared old and new data and fixed anything left unlinked.

// challenges
  • deep relations between courses, participants and bookings
  • five years of inconsistent custom fields, orphaned post meta and plugin leftovers
  • zero data loss tolerance
  • a new schema that still had to match legacy records
  • ID mismatches from WordPress auto-increment IDs on import
// approach
  • database blueprint of every relation and meta dependency
  • new custom post type schema
  • original IDs kept as _legacy_post_id meta during import
  • multi-pass mapping scripts (courses, participants, bookings)
  • automated cross-reference queries between old and new tables
// stack
  • WordPress
  • PHP
  • WP-CLI
  • MySQL
  • Custom migration scripts
// the result
99%mapped automatically
3,000+participant histories preserved
200+courses relinked

“Migrating five years of complex student and booking data felt like a high-risk operation, but the execution was flawless. Everything transferred with incredible precision, and our new platform is significantly faster and easier to manage.”

Head of Product & Operations, High-End E-Learning Platform

Have a similar challenge?

Send us a few lines. We'll reply within one working day.

Start a conversation