Comment (by Simon Charette):
I'm afraid there's little that can be done here on MySQL which doesn't
support transactional DDL.
If you have a migration with multiple operations and one of them happen to
fail Django has no way to know which operations are applied and which
aren't so re-running the migration requires attempting the whole sequence
of operations again.
[https://docs.djangoproject.com/en/4.2/topics/migrations/#mysql This is a
documented] limitation of MySQL.
--
Ticket URL: <https://code.djangoproject.com/ticket/34546#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.