Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #13656 -- Ensure that the management commands use the right dat…

…abase for transaction start/end commands. Thanks to Alex Gaynor for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13311 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit c4e0dc6b5ea76d7f214b9e0d8ce02cc26375a798 1 parent adc9458
@freakboy3742 freakboy3742 authored
Showing with 10 additions and 3 deletions.
  1. +5 −3 django/core/management/base.py
  2. +5 −0 django/db/backends/__init__.py
View
8 django/core/management/base.py
@@ -218,13 +218,15 @@ def execute(self, *args, **options):
output = self.handle(*args, **options)
if output:
if self.output_transaction:
- # This needs to be imported here, because it relies on settings.
- from django.db import connection
+ # This needs to be imported here, because it relies on
+ # settings.
+ from django.db import connections, DEFAULT_DB_ALIAS
+ connection = connections[options.get('database', DEFAULT_DB_ALIAS)]
if connection.ops.start_transaction_sql():
print self.style.SQL_KEYWORD(connection.ops.start_transaction_sql())
print output
if self.output_transaction:
- print self.style.SQL_KEYWORD("COMMIT;")
+ print self.style.SQL_KEYWORD(connection.ops.end_transaction_sql())
except CommandError, e:
sys.stderr.write(smart_str(self.style.ERROR('Error: %s\n' % e)))
sys.exit(1)
View
5 django/db/backends/__init__.py
@@ -353,6 +353,11 @@ def start_transaction_sql(self):
"""
return "BEGIN;"
+ def end_transaction_sql(self, success=True):
+ if not success:
+ return "ROLLBACK;"
+ return "COMMIT;"
+
def tablespace_sql(self, tablespace, inline=False):
"""
Returns the SQL that will be appended to tables or rows to define
Please sign in to comment.
Something went wrong with that request. Please try again.