Kaydet (Commit) e74d2183 authored tarafından Aymeric Augustin's avatar Aymeric Augustin

Wrapped migrations in a transaction only on DBs with transactional DDL.

üst 3a435a05
...@@ -71,14 +71,16 @@ class BaseDatabaseSchemaEditor(object): ...@@ -71,14 +71,16 @@ class BaseDatabaseSchemaEditor(object):
def __enter__(self): def __enter__(self):
self.deferred_sql = [] self.deferred_sql = []
atomic(self.connection.alias, self.connection.features.can_rollback_ddl).__enter__() if self.connection.features.can_rollback_ddl:
atomic(self.connection.alias).__enter__()
return self return self
def __exit__(self, exc_type, exc_value, traceback): def __exit__(self, exc_type, exc_value, traceback):
if exc_type is None: if exc_type is None:
for sql in self.deferred_sql: for sql in self.deferred_sql:
self.execute(sql) self.execute(sql)
atomic(self.connection.alias, self.connection.features.can_rollback_ddl).__exit__(exc_type, exc_value, traceback) if self.connection.features.can_rollback_ddl:
atomic(self.connection.alias).__exit__(exc_type, exc_value, traceback)
# Core utility functions # Core utility functions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment