Browse Source

Documented how allow_migrate() interacts with makemigrations.

Timothy Allen 8 years ago
parent
commit
df92f6f2e3
1 changed files with 6 additions and 4 deletions
  1. 6 4
      docs/topics/db/multi-db.txt

+ 6 - 4
docs/topics/db/multi-db.txt

@@ -183,10 +183,12 @@ A database Router is a class that provides up to four methods:
     This method can also be used to determine the availability of a model on a
     given database.
 
-    Note that migrations will just silently not perform any operations on a
-    model for which this returns ``False``. This may result in broken foreign
-    keys, extra tables, or missing tables if you change it once you have
-    applied some migrations.
+    :djadmin:`makemigrations` always creates migrations for model changes, but
+    if ``allow_migrate()`` returns ``False``, any migration operations for the
+    ``model_name`` will be silently skipped when running :djadmin:`migrate` on
+    the ``db``. Changing the behavior of ``allow_migrate()`` for models that
+    already have migrations may result in broken foreign keys, extra tables,
+    or missing tables.
 
 A router doesn't have to provide *all* these methods -- it may omit one
 or more of them. If one of the methods is omitted, Django will skip