--- # nuzlocke-tracker-ecn3 title: Prune stale seed data during seeding status: completed type: bug priority: normal created_at: 2026-02-21T16:28:37Z updated_at: 2026-02-21T16:29:43Z --- Seeds only upsert (add/update), they never remove routes, encounters, or bosses that no longer exist in the seed JSON. When routes are renamed, old route names persist in production. ## Fix After upserting each entity type, delete rows not present in the seed data: 1. **Routes**: After upserting all routes for a version group, delete routes whose names are not in the seed set. FK cascades handle child routes and encounters. 2. **Encounters**: After upserting encounters for a route+game, delete encounters not in the seed data for that route+game pair. 3. **Bosses**: After upserting bosses for a version group, delete bosses with order values beyond what the seed provides.