Ticket #6719: syncdb_better_error_messages.diff

File syncdb_better_error_messages.diff, 1.5 KB (added by guettli, 7 years ago)

Uses option '--traceback' now.

  • django/core/management/commands/syncdb.py

     
    2525
    2626        verbosity = int(options.get('verbosity', 1))
    2727        interactive = options.get('interactive')
     28        show_traceback = options.get('traceback', False)
    2829
    2930        self.style = no_style()
    3031
     
    110111                            for sql in custom_sql:
    111112                                cursor.execute(sql)
    112113                        except Exception, e:
    113                             sys.stderr.write("Failed to install custom SQL for %s.%s model: %s" % \
     114                            sys.stderr.write("Failed to install custom SQL for %s.%s model: %s\n" % \
    114115                                                (app_name, model._meta.object_name, e))
     116                            if show_traceback:
     117                                import traceback
     118                                traceback.print_exc()
    115119                            transaction.rollback_unless_managed()
    116120                        else:
    117121                            transaction.commit_unless_managed()
    118 
     122                    else:
     123                        if verbosity >= 2:
     124                            print "No custom SQL for %s.%s model" % (app_name, model._meta.object_name)
    119125        # Install SQL indicies for all newly created models
    120126        for app in models.get_apps():
    121127            app_name = app.__name__.split('.')[-2]
Back to Top