summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Meyer <carl@oddbird.net>2015-02-15 12:40:13 -0700
committerTim Graham <timograham@gmail.com>2015-02-16 10:12:18 -0500
commita970c277305d7cfa17b290667ce2a145abf96711 (patch)
treea09a0e6cdb1bd1139b40043dee29ec119be06a4a
parent9be44b8ee3d9d64c170072b394b0d4f7417ba24d (diff)
[1.7.x] Fixed #23892 -- Clarified compatibility policy for migrations.
Backport of e35c70bef44805d47f6a4ae692be878184c4fe1f from master
-rwxr-xr-xdocs/topics/migrations.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt
index 27373a51fd..aa4059028f 100755
--- a/docs/topics/migrations.txt
+++ b/docs/topics/migrations.txt
@@ -725,6 +725,20 @@ next run of :djadmin:`makemigrations` on Python 3 will likely generate many
changes as it converts all the bytestring attributes to text strings; this is
normal and should only happen once.
+Supporting multiple Django versions
+-----------------------------------
+
+If you are the maintainer of a third-party app with models, you may need to
+ship migrations that support multiple Django versions. In this case, you should
+always run :djadmin:`makemigrations` **with the lowest Django version you wish
+to support**.
+
+The migrations system will maintain backwards-compatibility according to the
+same policy as the rest of Django, so migration files generated on Django X.Y
+should run unchanged on Django X.Y+1. The migrations system does not promise
+forwards-compatibility, however. New features may be added, and migration files
+generated with newer versions of Django may not work on older versions.
+
.. _upgrading-from-south:
Upgrading from South