summaryrefslogtreecommitdiffstats
path: root/databaseReset.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2020-07-22 23:36:46 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2020-07-22 23:36:46 +0100
commit3e3cae507cebb364ea23ff5b6b70d5c84db3dd11 (patch)
treecb69b6f194fdbc2356beaebc9b7d5fb5956d57ea /databaseReset.py
parent1ef5924f0c3088340c2d046baf5a77cedf618901 (diff)
downloadtroggle-3e3cae507cebb364ea23ff5b6b70d5c84db3dd11.tar.gz
troggle-3e3cae507cebb364ea23ff5b6b70d5c84db3dd11.tar.bz2
troggle-3e3cae507cebb364ea23ff5b6b70d5c84db3dd11.zip
More transactions enabled.
Diffstat (limited to 'databaseReset.py')
-rw-r--r--databaseReset.py36
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