From 5a917cfef319df33ca30a3b27bd0b0533b8e63bb Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Wed, 7 May 2014 14:28:34 -0700 Subject: Fixed #22496: Data migrations get transactions again! --- docs/ref/migration-operations.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ref/migration-operations.txt b/docs/ref/migration-operations.txt index 0b7e6a3912..9c7a5d497e 100644 --- a/docs/ref/migration-operations.txt +++ b/docs/ref/migration-operations.txt @@ -178,7 +178,7 @@ operation that adds that field and so will try to run it again). RunPython --------- -.. class:: RunPython(code, reverse_code=None) +.. class:: RunPython(code, reverse_code=None, atomic=True) Runs custom Python code in a historical context. ``code`` (and ``reverse_code`` if supplied) should be callable objects that accept two arguments; the first is @@ -230,6 +230,12 @@ 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 +Oracle). This should be safe, but may cause a crash if you attempt to use +the ``schema_editor`` provided on these backends; in this case, please +set ``atomic=False``. + SeparateDatabaseAndState ------------------------ -- cgit v1.3