Menu

Migrating 330 digital products between platforms: what broke and what I'd do differently
πŸ“°

Migrating 330 digital products between platforms: what broke and what I'd do differently

DEV Community: laravelΒ·Syed MujtabaΒ·about 4 hours ago
#KaoWUv3N
#devtolaravel#devto#dev#import#products
Reading 0:00
15s threshold

TL;DR: Migrated 330 records (305+ products, 39 bundles) from a legacy platform (Entrepedia) to a Next.js + Prisma + MySQL stack. The code was fine β€” the data was the problem: slug collisions, duplicate titles, cover/deliverable mismatches, and a tangled taxonomy. Scroll to "The checklist I'd use next time" for the actionable part.

Earlier this year I migrated 305+ digital products and 39 bundles from Entrepedia to a new Next.js + Prisma + MySQL platform β€” idesire.io. Catalog migrations look boring until 330 records disagree with each other. Here's an honest breakdown of what broke, how we fixed it, and the checklist I'd run next time.

What broke

1. Slug collisions

Two products, one slug. The legacy platform allowed duplicate slugs across categories, so /products/planner existed twice. On the new platform the slug is the primary lookup, so imports silently overwrote each other.

Fix: namespaced slugs per category during import, then ran a uniqueness pass and 301-redirected the losers.

2.…

Continue reading β€” create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.