DEV Community

Mike Coutermarsh
Mike Coutermarsh

Posted on


High traffic app that can’t take downtime - Data migration

When you can't take downtime, the “trick” to data migration is: Think small changes.

  1. New table
  2. Update writes to go to old and new
  3. Background job to migrate old data to new
  4. Move reads to new table
  5. Stop writing to old table

Each of these steps is a deploy.

Top comments (6)

nholden profile image
Nick Holden

This tip is 🔥!

For Rails apps, I love using the strong_migrations gem to encourage small, safe steps like these.

ben profile image
Ben Halpern


ritikesh profile image
Ritikesh • Edited

I would recommend checking LHM out if you're on rails. We have used it for multiple major migrations and it works like a charm.

Sloan, the sloth mascot
Comment deleted
mscccc profile image
Mike Coutermarsh • Edited

See on 2. Write to both tables

gijovarghese profile image
Gijo Varghese • Edited

Oh sorry, I thought it only writes to new one

12 Rarely Used Javascript APIs You Need

Practical examples of some unique Javascript APIs that beautifully demonstrate a practical use-case.