diff options
Diffstat (limited to 'databaseReset.py')
-rw-r--r-- | databaseReset.py | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/databaseReset.py b/databaseReset.py index 26cf058..a89f910 100644 --- a/databaseReset.py +++ b/databaseReset.py @@ -41,6 +41,7 @@ from django.db import connection, close_old_connections, connections from django.http import HttpResponse from django.urls import reverse from django.contrib.auth.models import User +from django.db import transaction from troggle.core.models import get_process_memory from troggle.core.models_caves import Cave, Entrance @@ -100,23 +101,24 @@ def reinit_db(): print(" - done migration on: " + settings.DATABASES['default']['NAME']) print("users in db already: ",len(User.objects.all())) - try: - print(" - Setting up admin user on: " + django.db.connections.databases['default']['NAME']) - print(" - user: {} ({:.5}...) <{}> ".format(expouser, expouserpass, expouseremail)) - user = User.objects.create_user(expouser, expouseremail, expouserpass) - user.is_staff = True - user.is_superuser = True - user.save() - except: - print(" ! INTEGRITY ERROR user on: " + settings.DATABASES['default']['NAME']) - print(django.db.connections.databases['default']['NAME']) - print(" ! You probably have not got a clean db when you thought you had.\n") - print(" ! Also you are probably NOT running an in-memory db now.\n") - print("users in db: ",len(User.objects.all())) - print("tables in db: ",len(connection.introspection.table_names())) - memdumpsql(fn='integrityfail.sql') - django.db.connections.databases['default']['NAME'] = ':memory:' - #raise + with transaction.atomic(): + try: + print(" - Setting up admin user on: " + django.db.connections.databases['default']['NAME']) + print(" - user: {} ({:.5}...) <{}> ".format(expouser, expouserpass, expouseremail)) + user = User.objects.create_user(expouser, expouseremail, expouserpass) + user.is_staff = True + user.is_superuser = True + user.save() + except: + print(" ! INTEGRITY ERROR user on: " + settings.DATABASES['default']['NAME']) + print(django.db.connections.databases['default']['NAME']) + print(" ! You probably have not got a clean db when you thought you had.\n") + print(" ! Also you are probably NOT running an in-memory db now.\n") + print("users in db: ",len(User.objects.all())) + print("tables in db: ",len(connection.introspection.table_names())) + memdumpsql(fn='integrityfail.sql') + django.db.connections.databases['default']['NAME'] = ':memory:' + #raise def memdumpsql(fn): djconn = django.db.connection |