summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2012-05-27 23:03:21 +0200
committerClaude Paroz <claude@2xlibre.net>2012-05-27 23:03:21 +0200
commitcc4b4d9fd34d9b601de0bafaa3c1f249729fa49a (patch)
tree1c297e4a24ca9d6ebd0d20ff5d2cb1176b5de641 /django
parentf2b6763ad7cb281ca8699a9c3d532a82f965be4f (diff)
Used CommandError in createcachetable command.
Raising CommandError whenever a management command meets an error condition is the standard way to handle errors in commands.
Diffstat (limited to 'django')
-rw-r--r--django/core/management/commands/createcachetable.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/django/core/management/commands/createcachetable.py b/django/core/management/commands/createcachetable.py
index fec3aff67c..bcc47e17c8 100644
--- a/django/core/management/commands/createcachetable.py
+++ b/django/core/management/commands/createcachetable.py
@@ -1,7 +1,7 @@
from optparse import make_option
from django.core.cache.backends.db import BaseDatabaseCache
-from django.core.management.base import LabelCommand
+from django.core.management.base import LabelCommand, CommandError
from django.db import connections, router, transaction, models, DEFAULT_DB_ALIAS
from django.db.utils import DatabaseError
@@ -55,11 +55,10 @@ class Command(LabelCommand):
try:
curs.execute("\n".join(full_statement))
except DatabaseError as e:
- self.stderr.write(
+ transaction.rollback_unless_managed(using=db)
+ raise CommandError(
"Cache table '%s' could not be created.\nThe error was: %s." %
(tablename, e))
- transaction.rollback_unless_managed(using=db)
- else:
- for statement in index_output:
- curs.execute(statement)
- transaction.commit_unless_managed(using=db)
+ for statement in index_output:
+ curs.execute(statement)
+ transaction.commit_unless_managed(using=db)