Different tools, better together

MigrationPilot vs FlywayLint Your Migrations Before Flyway Runs Them

Flyway is a migration runner — it tracks and applies schema changes. MigrationPilot is a migration linter — it catches dangerous DDL patterns before they reach production. They solve different problems and work best together.

Different Tools for Different Jobs

Flyway (Migration Runner)
  • --Tracks migration version history
  • --Applies SQL files to a database
  • --Manages schema versioning and rollback
  • --Does not analyze SQL for safety
  • --Does not check lock impact
  • --Does not suggest safe alternatives
MigrationPilot (Migration Linter)
  • 80 safety rules for PostgreSQL DDL
  • Lock type analysis per statement
  • Risk scoring (RED / YELLOW / GREEN)
  • Auto-fix for 12 common issues
  • Safe alternative suggestions
  • Auto-detects Flyway migration directories

Feature Comparison

CapabilityFlywayMigrationPilot
Primary purposeRun migrationsLint migrations
SQL safety analysisNo80 rules
Lock type detectionNoPer-statement (SHARE through ACCESS EXCLUSIVE)
Risk scoringNoRED / YELLOW / GREEN (0-100)
Auto-fixNo12 rules auto-fixable
Safe alternative suggestionsNoYes (with SQL examples)
Migration versioningYesNo (not needed)
Schema change executionYesNo (read-only analysis)
Rollback supportUndo (paid)Rollback DDL generation
GitHub ActionCommunityOfficial (PR comments, inline annotations)
VS Code extensionNoYes
SARIF outputNoYes (GitHub Code Scanning)
Config presetsNo5 built-in presets
Framework detectionFlyway only14 frameworks (including Flyway)
PostgreSQL focusMulti-databasePostgreSQL-specialized
LicenseApache 2.0 (Community) / CommercialMIT
PricingFree Community / $$$$ Teams/EnterpriseFree (77 rules) / $19/mo Pro

What MigrationPilot Adds to Your Flyway Workflow

Catch Dangerous DDL Before Deployment

Flyway will happily run CREATE INDEX without CONCURRENTLY on a 100M-row table. MigrationPilot catches it in CI and suggests the safe alternative.

Lock Impact Visibility

Every DDL statement acquires a PostgreSQL lock. MigrationPilot tells you exactly which lock type each statement takes and whether it will block reads, writes, or both.

Auto-Fix Common Issues

MigrationPilot can automatically rewrite 12 common dangerous patterns: adding CONCURRENTLY, setting lock_timeout, using NOT VALID, and more.

Risk-Based PR Feedback

The GitHub Action posts a detailed safety report on every PR. RED/YELLOW/GREEN scoring gives reviewers immediate context on migration risk.

Works With Your Flyway Setup

MigrationPilot auto-detects Flyway migration directories (V*.sql, R*.sql). Point it at your db/migration folder and it works immediately.

Production Context (Pro)

Connect to your production database (read-only) to score risk based on actual table sizes, query frequency, and connection counts.

When to Use Each Tool

Use Flyway when you need to...

  • Track which migrations have been applied
  • Apply migrations to multiple environments
  • Manage versioned SQL across your Java/JVM stack
  • Execute schema changes against your database
  • Support multiple database engines (MySQL, Oracle, SQL Server)

Use MigrationPilot when you need to...

  • Review migration SQL for lock safety before merging
  • Catch dangerous DDL patterns in CI/CD
  • Get safe alternative SQL for risky operations
  • Automatically fix common migration anti-patterns
  • Enforce PostgreSQL migration best practices across your team

Best approach: Use both together

MigrationPilot is not a Flyway replacement — it is a complement. Keep Flyway for migration execution and versioning. Add MigrationPilot to your CI pipeline to lint migration files before Flyway applies them. This is like running ESLint on your JavaScript before deploying it.

Add MigrationPilot to Your Flyway Project

1

Lint locally

# Analyze your Flyway migrations
npx migrationpilot analyze db/migration/

# Auto-detect Flyway directory
npx migrationpilot detect
2

Add to GitHub Actions

# .github/workflows/migration-lint.yml
name: Lint Migrations
on: pull_request
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: mickelsamuel/migrationpilot@v1
        with:
          path: db/migration/
          fail-on: critical
3

Auto-fix common issues

# Preview fixes without modifying files
npx migrationpilot analyze db/migration/ --fix --dry-run

# Apply fixes in-place
npx migrationpilot analyze db/migration/ --fix

Flyway runs your migrations. MigrationPilot makes them safe.

80 safety rules. 12 auto-fixes. Lock analysis. Risk scoring. GitHub Action with PR comments. Add it to your Flyway workflow in 30 seconds.