From f46402bc90e85f610d8ed564b35651e8244337b3 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Tue, 6 Sep 2005 22:14:40 +0000 Subject: [PATCH] Made 'django-admin.py init' more robust git-svn-id: http://code.djangoproject.com/svn/django/trunk@632 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/management.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/django/core/management.py b/django/core/management.py index 3b6fe36378..21e3f7c78c 100644 --- a/django/core/management.py +++ b/django/core/management.py @@ -286,19 +286,23 @@ get_admin_index.args = APP_ARGS def init(): "Initializes the database with auth and core." - from django.core import db, meta - auth = meta.get_app('auth') - core = meta.get_app('core') try: + from django.core import db, meta + auth = meta.get_app('auth') + core = meta.get_app('core') cursor = db.db.cursor() for sql in get_sql_create(core) + get_sql_create(auth) + get_sql_initial_data(core) + get_sql_initial_data(auth): cursor.execute(sql) cursor.execute("INSERT INTO %s (domain, name) VALUES ('mysite.com', 'My Django site')" % core.Site._meta.db_table) except Exception, e: - sys.stderr.write("Error: The database couldn't be initialized. Here's the full exception:\n%s\n" % e) - db.db.rollback() + sys.stderr.write("Error: The database couldn't be initialized.\n%s\n" % e) + try: + db.db.rollback() + except UnboundLocalError: + pass sys.exit(1) - db.db.commit() + else: + db.db.commit() init.args = '' def install(mod):