TL;DR
Moved a SaaS from à-la-carte feature subscriptions (pay per feature) to plans-only (pay for a tier, get its features).
Did it in four phases so nothing broke mid-flight: seed plans → gate on plans → migrate orgs → delete the old machinery.
Lesson: model migrations are safest as expand → migrate → contract, not a big-bang swap.
The problem






