diff options
| author | Claude Paroz <claude@2xlibre.net> | 2012-05-27 23:03:21 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2012-05-27 23:03:21 +0200 |
| commit | cc4b4d9fd34d9b601de0bafaa3c1f249729fa49a (patch) | |
| tree | 1c297e4a24ca9d6ebd0d20ff5d2cb1176b5de641 /django | |
| parent | f2b6763ad7cb281ca8699a9c3d532a82f965be4f (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.py | 13 |
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) |
