mirror of
https://github.com/django/django.git
synced 2025-08-04 10:59:45 +00:00
The change partly goes back to the old behavior for forwards migrations which should reduce the amount of memory consumption (#24745). However, by the way the current state computation is done (there is no `state_backwards` on a migration class) this change cannot be applied to backwards migrations. Hence rolling back migrations still requires the precomputation and storage of the intermediate migration states. This improvement also implies that Django does not handle mixed migration plans anymore. Mixed plans consist of a list of migrations where some are being applied and others are being unapplied. Thanks Andrew Godwin, Josh Smeaton and Tim Graham for the review as well as everybody involved on the ticket that kept me looking into the issue.
This commit is contained in:
parent
186eb21dc1
commit
5aa55038ca
7 changed files with 184 additions and 27 deletions
|
@ -458,6 +458,21 @@ Migrations
|
|||
* When supplying ``None`` as a value in :setting:`MIGRATION_MODULES`, Django
|
||||
will consider the app an app without migrations.
|
||||
|
||||
* When applying migrations, the "Rendering model states" step that's displayed
|
||||
when running migrate with verbosity 2 or higher now computes only the states
|
||||
for the migrations that have already been applied. The model states for
|
||||
migrations being applied are generated on demand, drastically reducing the
|
||||
amount of required memory.
|
||||
|
||||
However, this improvement is not available when unapplying migrations and
|
||||
therefore still requires the precomputation and storage of the intermediate
|
||||
migration states.
|
||||
|
||||
This improvement also requires that Django no longer supports mixed migration
|
||||
plans. Mixed plans consist of a list of migrations where some are being
|
||||
applied and others are being unapplied. This was never officially supported
|
||||
and never had a public API that supports this behavior.
|
||||
|
||||
Models
|
||||
^^^^^^
|
||||
|
||||
|
@ -1094,6 +1109,10 @@ Miscellaneous
|
|||
* The system checks for :class:`~django.contrib.admin.ModelAdmin` now check
|
||||
instances rather than classes.
|
||||
|
||||
* The private API to apply mixed migration plans has been dropped for
|
||||
performance reasons. Mixed plans consist of a list of migrations where some
|
||||
are being applied and others are being unapplied.
|
||||
|
||||
.. _deprecated-features-1.9:
|
||||
|
||||
Features deprecated in 1.9
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue