Migration playbook · 2026

I migrated 12 client projects off Heroku. Here's the playbook.

Heroku entered "sustaining engineering mode" in February 2026. I've migrated 12 client projects off it since — Rails, Django, Node, Python — for clients ranging from 200-MAU side projects to 80K-MAU consumer apps. This is the step-by-step order of operations that actually works, plus the 7 specific things that bit me every single time.

Leaving Heroku? Land somewhere that stays up.

Always-on free tier, EU + US, AI monitoring built in. From GitHub to production in under 5 minutes.

No credit card required 1 service free forever EU & US regions Telegram alerts on every plan
Frequently asked

Quick answers

What are the most common pitfalls when migrating from Heroku?

The heroku_ext schema for extensions, hard-coded DYNO environment variable checks, default sslmode=require on database URLs, pg_stat_statements assumptions, and the deprecated heroku/buildpack-redis-cli.

How long does a Heroku migration typically take?

For a small Node or Python app: 2–4 hours including DNS cutover. For a Rails monolith with 20+ env vars, background workers, and a Postgres database with non-trivial size: 1–2 days end-to-end with a rehearsal.

How do I migrate Heroku Postgres without downtime?

Use logical replication: pg_dump --schema-only first, then pglogical or AWS DMS for streaming, then a brief read-only window to cut over. The article walks through the exact commands.

Can I migrate from Heroku to HostingGuru and keep the same Git workflow?

Yes. HostingGuru uses the same git-push-to-deploy model as Heroku, honors Procfile, runtime.txt, and engines.node, and exposes env vars in the dashboard. Workflow change for the team: zero.