I've been using simple-db-migrate
Pros:
- it allows me to rollback the migrations (IDK if other do this too).
- integrates with manage.py
- everyone that knows SQL can create a migration
- it doesn't run a migration twice: the application writes the migration information(timestamp, query, etc.) on a table
Cons:
- if you add a migration with a lower timestamp than the latest migration installed, this migration doesn't run
- Only MySQL is supported