From e9264bc25d265ba1c8ff69517dea8c5ce6ad6df8 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Tue, 2 Sep 2014 08:12:19 -0400 Subject: [PATCH] Revert "Undocumented SeparateDatabaseAndState so crash is not RB. Refs #22918" This reverts commit a8521a2c228bd9e981dc8a2bea4e26f4544a52a7. --- docs/ref/migration-operations.txt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/ref/migration-operations.txt b/docs/ref/migration-operations.txt index fe9b2bf548..a2da17f1bf 100644 --- a/docs/ref/migration-operations.txt +++ b/docs/ref/migration-operations.txt @@ -250,9 +250,9 @@ are added to the migration's dependencies. Much like :class:`RunSQL`, ensure that if you change schema inside here you're either doing it outside the scope of the Django model system (e.g. triggers) -or that you use a custom Operation to reflect your changes to the model -state - otherwise, the versioned ORM and the autodetector will stop -working correctly. +or that you use :class:`SeparateDatabaseAndState` to add in operations that will +reflect your changes to the model state - otherwise, the versioned ORM and +the autodetector will stop working correctly. By default, ``RunPython`` will run its contents inside a transaction even on databases that do not support DDL transactions (for example, MySQL and @@ -268,6 +268,18 @@ set ``atomic=False``. ``schema_editor.connection.alias``, where ``schema_editor`` is the second argument to your function). +SeparateDatabaseAndState +------------------------ + +.. class:: SeparateDatabaseAndState(database_operations=None, state_operations=None) + +A highly specialized operation that let you mix and match the database +(schema-changing) and state (autodetector-powering) aspects of operations. + +It accepts two list of operations, and when asked to apply state will use the +state list, and when asked to apply changes to the database will use the database +list. Do not use this operation unless you're very sure you know what you're doing. + Writing your own ================