← All docs

CLI Reference

Complete reference for all MigrationPilot CLI commands and options.

analyze

Analyze a single migration file for safety issues.

migrationpilot analyze <file> [options]

Options:
  --pg-version <version>    Target PostgreSQL version (default: 17)
  --format <format>         Output: text, json, sarif, markdown
  --fail-on <severity>      Exit code threshold: critical, warning, never
  --database-url <url>      PostgreSQL connection for production context
  --license-key <key>       License key for Pro features
  --fix                     Auto-fix safe violations
  --dry-run                 Preview fixes without writing (use with --fix)
  --stdin                   Read SQL from stdin
  --quiet                   One-line-per-violation output
  --verbose                 Show all checks including passing
  --exclude <rules>         Comma-separated rules to skip
  --offline                 Skip update checks and network access
  --no-config               Ignore config file

check

Analyze all migration files in a directory.

migrationpilot check <dir> [options]

Options:
  --pattern <glob>          File pattern (default: **/*.sql)
  --pg-version <version>    Target PostgreSQL version
  --format <format>         Output: text, json, sarif, markdown
  --fail-on <severity>      Exit code threshold
  --database-url <url>      PostgreSQL connection for production context
  --license-key <key>       License key for Pro features
  --exclude <rules>         Comma-separated rules to skip
  --offline                 Skip update checks and network access
  --no-config               Ignore config file

plan

Show execution plan with lock timeline visualization.

migrationpilot plan <file> [options]

Options:
  --pg-version <version>    Target PostgreSQL version

init

Generate a default .migrationpilotrc.yml config file.

migrationpilot init

detect

Detect migration frameworks in the current project.

migrationpilot detect [dir]

watch

Watch migration files for changes and analyze on save.

migrationpilot watch <dir> [options]

Options:
  --pattern <glob>          File pattern (default: **/*.sql)
  --pg-version <version>    Target PostgreSQL version

hook

Install or uninstall a Git pre-commit hook.

migrationpilot hook install [dir]
migrationpilot hook uninstall [dir]

list-rules

List all available safety rules.

migrationpilot list-rules [options]

Options:
  --json                    Output as JSON
  --severity <level>        Filter by severity

doctor

Run diagnostic checks on your environment.

migrationpilot doctor

trends

View historical analysis trends.

migrationpilot trends [options]

Options:
  --format <format>         Output: text, json

drift

Compare two database schemas for differences.

migrationpilot drift [options]

Options:
  --source <url>            Source database connection string
  --target <url>            Target database connection string
  --schema <name>           Schema to compare (default: public)
  --format <format>         Output: text, json

completion

Generate shell completion scripts.

# Bash
migrationpilot completion bash >> ~/.bashrc

# Zsh
migrationpilot completion zsh >> ~/.zshrc

# Fish
migrationpilot completion fish > ~/.config/fish/completions/migrationpilot.fish