#26064: Move migration operation reduction logic to their respective class.
-------------------------------------+-------------------------------------
Reporter: charettes | Owner: charettes
Type: | Status: assigned
Cleanup/optimization |
Component: Migrations | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by carljm):
Hmm, this is neat, and if there isn't a performance hit I think it's
probably worth implementing just to see what people do with the improved
flexibility, but I am skeptical about just how useful this will be in
practice for the use case described in the ticket. To put my skepticism in
brief: is it actually easier to write that reduce method in advance,
anticipating all the various schema alterations that might surround your
operation and how you'd return an adjusted version of your operation to
account for them, than it is to just take care of it manually when
squashing? Even if you're using "squashmigrations" rather than the "full
reset" approach, "taking care of it manually" is just a matter of removing
the data migration, adjusting its successor to point to its parent, then
squashing, then re-appending (and modifying as necessary) the data
migration. Squashing is done infrequently enough that I have a hard time
imagining when I'd actually choose to write and test a fully parametrized
operation with a custom reduce method instead of just doing that manual
dance every now and then. Maybe I just don't use initial-data migrations
enough? Or don't squash frequently enough?
--
Ticket URL: <https://code.djangoproject.com/ticket/26064#comment:6>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/067.6932adacc91eb584e3535b51ab0bc3a8%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.