Commit a7ac5f01 authored by Andrew Godwin's avatar Andrew Godwin
Browse files

[1.7.x] Undocumented SeparateDatabaseAndState so crash is not RB. Refs #22918

parent e42a82ed
Loading
Loading
Loading
Loading
+3 −15
Original line number Diff line number Diff line
@@ -248,9 +248,9 @@ rest of the code unchanged for data migrations.

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 :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.
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.

By default, ``RunPython`` will run its contents inside a transaction even
on databases that do not support DDL transactions (for example, MySQL and
@@ -266,18 +266,6 @@ 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
================