I've been using Flyway since 2019 because it solves the one problem every team has: database changes are a pain in the ass. Before Flyway, our deployments looked like this: "Hey Dave, did you run those ALTER TABLE statements on staging? What about prod? Oh shit, we forgot to update the indexes."
Now it's just `flyway migrate` and I'm done.
How Flyway Works (The 30-Second Version)
You put SQL files in a folder. Name them V1__something.sql, V2__something_else.sql. Run flyway migrate
. That's it.
Flyway keeps a table called flyway_schema_history
that tracks what's been run. It won't run the same migration twice, and it runs them in version order. If V3 fails, V4 through V99 won't run until you fix V3.
The genius is in what it doesn't do - no XML config files, no proprietary formats, no learning Hibernate all over again. Just SQL.
Version Reality Check
Latest version as of September 2025 is 11.11.2, released in August. Redgate owns it now (bought it in July 2019) but they haven't fucked it up. Community edition is still free and does everything most teams need.
Word of warning: they keep pushing their Enterprise edition hard. Unless you're managing 20+ databases or need automatic rollbacks (spoiler: they usually don't work anyway), stick with Community.
Why Not Just Write Database Scripts Manually?
Because you will fuck it up. Here's what happens without Flyway:
- Dev runs migration on their local DB
- QA forgets to run it on staging
- Prod deployment explodes with "column doesn't exist" errors
- You're debugging at 2am while customers are pissed
With Flyway, the same script runs everywhere in the same order. Your staging environment is exactly what prod will look like. When shit breaks (and it will), at least you know why.
The One Thing That Actually Matters
Flyway forces you to treat database changes like code changes. Every schema modification goes through version control. You can see what changed, who changed it, and when. Your database schema becomes as predictable as your application code.
This is huge for teams. No more "database guy" who's the only one allowed to touch production. No more wondering why staging acts differently than prod. No more rollback disasters.
But here's where it gets tricky: Redgate wants you to upgrade to Enterprise. The free Community edition does everything I just described perfectly. I've migrated 47 microservices with Community edition and only had 3 disasters (all my fault, not Flyway's). Whether you need to pay depends on your specific situation - let's break down what you actually get for your money.