From e2a3be1e4d9a85aa30f1b7d9064b5abb1569eea6 Mon Sep 17 00:00:00 2001
From: Shai Berger <shai@platonix.com>
Date: Wed, 18 Feb 2015 22:44:31 +0200
Subject: [PATCH] [1.8.x] Fixed #24362: Made test run each migration operation
 in its own schema editor

Thanks Tim Graham for pointing out the fix.

Backport of f7d34fe from master ticket_24362
---
 tests/migrations/test_operations.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py
index 05e0e535f1..acbd389bce 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -1700,16 +1700,19 @@ class OperationTests(OperationTestBase):
         with connection.schema_editor() as editor:
             create_author.state_forwards("test_authors", new_state)
             create_author.database_forwards("test_authors", editor, project_state, new_state)
-            project_state = new_state
-            new_state = new_state.clone()
+        project_state = new_state
+        new_state = new_state.clone()
+        with connection.schema_editor() as editor:
             create_book.state_forwards("test_books", new_state)
             create_book.database_forwards("test_books", editor, project_state, new_state)
-            project_state = new_state
-            new_state = new_state.clone()
+        project_state = new_state
+        new_state = new_state.clone()
+        with connection.schema_editor() as editor:
             add_hometown.state_forwards("test_authors", new_state)
             add_hometown.database_forwards("test_authors", editor, project_state, new_state)
-            project_state = new_state
-            new_state = new_state.clone()
+        project_state = new_state
+        new_state = new_state.clone()
+        with connection.schema_editor() as editor:
             create_old_man.state_forwards("test_books", new_state)
             create_old_man.database_forwards("test_books", editor, project_state, new_state)