← All docs

Django

Python

Django generates Python migration files that execute SQL. Use sqlmigrate to extract the SQL.

Auto-Detection

MigrationPilot auto-detects Django via manage.py and migrations/ directories.

Migration Path

Default migration file pattern:

**/migrations/*.sql

Setup

# Generate SQL from a Django migration
python manage.py sqlmigrate myapp 0001 > migration.sql

# Analyze the generated SQL
npx migrationpilot analyze migration.sql

# Or pipe directly
python manage.py sqlmigrate myapp 0001 | npx migrationpilot analyze --stdin

GitHub Action

Add to your CI workflow:

- name: Check Django migrations
  run: |
    python manage.py sqlmigrate myapp 0001 > /tmp/migration.sql
    npx migrationpilot analyze /tmp/migration.sql --fail-on critical

Configuration

Add a config file to set the default migration path:

# .migrationpilotrc.yml
migrationPath: "**/migrations/*.sql"
failOn: critical