Skip to content

Commit

Permalink
Fixed #28273 -- Doc'd fast nullable column creation with defaults.
Browse files Browse the repository at this point in the history
  • Loading branch information
caioariede authored and felixxm committed Oct 7, 2019
1 parent e3f647f commit 06909fe
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions docs/ref/migration-operations.txt
Expand Up @@ -150,6 +150,21 @@ a default value to put into existing rows. It does not affect the behavior
of setting defaults in the database directly - Django never sets database
defaults and always applies them in the Django ORM code.

.. warning::

On older databases, adding a field with a default value may cause a full
rewrite of the table. This happens even for nullable fields and may have a
negative performance impact. To avoid that, the following steps should be
taken.

* Add the nullable field without the default value and run the
:djadmin:`makemigrations` command. This should generate a migration with
an ``AddField`` operation.

* Add the default value to your field and run the :djadmin:`makemigrations`
command. This should generate a migration with an ``AlterField``
operation.

``RemoveField``
---------------

Expand Down

0 comments on commit 06909fe

Please sign in to comment.