generate-migration | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / generate-migration

generate-migration

maintained by getsentry

star 43k account_tree 4.6k verified_user MIT License
bolt View GitHub

name: generate-migration description: Generate Django database migrations for Sentry. Use when creating migrations, adding/removing columns or tables, adding indexes, or resolving migration conflicts.

Generate Django Database Migrations

Commands

Generate migrations automatically based on model changes:

sentry django makemigrations

For a specific app:

sentry django makemigrations <app_name>

Generate an empty migration (for data migrations or custom work):

sentry django makemigrations <app_name> --empty

After Generating

  1. If you added a new model, ensure it's imported in the app's __init__.py
  2. Review the generated migration for correctness
  3. Run sentry django sqlmigrate <app_name> <migration_name> to verify the SQL

Guidelines

Adding Columns

  • Use db_default=<value> instead of default=<value> for columns with defaults
  • Nullable columns: use null=True
  • Not null columns: must have db_default set

Adding Indexes

For large tables, set is_post_deployment = True on the migration as index creation may exceed the 5s timeout.

Deleting Columns

  1. Make column nullable (null=True) if not already
  2. Remove all code references
  3. Replace RemoveField with SafeRemoveField(..., deletion_action=DeletionAction.MOVE_TO_PENDING)
  4. Deploy, then create second migration with SafeRemoveField(..., deletion_action=DeletionAction.DELETE)

Deleting Tables

  1. Remove all code references
  2. Replace DeleteModel with SafeDeleteModel(..., deletion_action=DeletionAction.MOVE_TO_PENDING)
  3. Deploy, then create second migration with SafeDeleteModel(..., deletion_action=DeletionAction.DELETE)

Renaming Columns/Tables

Don't rename in Postgres. Use db_column or Meta.db_table to keep the old name.

Resolving Merge Conflicts

If migrations_lockfile.txt conflicts:

bin/update-migration <migration_name>

This renames your migration, updates dependencies, and fixes the lockfile.

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 43k
GitHub Forks 4.6k
Created Jan 2026
Last Updated 4个月前
tools tools database tools

Related Skills

prisma-expert
chevron_right
vespertide
chevron_right
database-schema-expert
chevron_right
tg-migrations
chevron_right
databases
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.