diff options
Diffstat (limited to 'databaseResetM.py')
-rw-r--r-- | databaseResetM.py | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/databaseResetM.py b/databaseResetM.py deleted file mode 100644 index 07e4702..0000000 --- a/databaseResetM.py +++ /dev/null @@ -1,117 +0,0 @@ -import os -import time -import settings -os.environ['PYTHONPATH'] = settings.PYTHON_PATH -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') -from django.core import management -from django.db import connection -from django.contrib.auth.models import User -from django.http import HttpResponse -from django.core.urlresolvers import reverse -from troggle.core.models import Cave, Entrance -from troggle.core.models import PersonM, SurveyM, CaveM, ExpeditionM, Logbook_entryM -import troggle.flatpages.models - -databasename=settings.DATABASES['default']['NAME'] -expouser=settings.EXPOUSER -expouserpass=settings.EXPOUSERPASS -expouseremail=settings.EXPOUSER_EMAIL - -def destroy(): - if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.sqlite3': - try: - os.remove(databasename) - except OSError: - pass - else: - cursor = connection.cursor() - cursor.execute("DROP DATABASE %s" % databasename) - cursor.execute("CREATE DATABASE %s" % databasename) - cursor.execute("ALTER DATABASE %s CHARACTER SET=utf8" % databasename) - cursor.execute("USE %s" % databasename) - management.call_command('syncdb', interactive=False) - user = User.objects.create_user(expouser, expouseremail, expouserpass) - user.is_staff = True - user.is_superuser = True - user.save() - print('Nuked the database and rebuilt it. You savage monster') - -def gracefull_flush(): - CaveM.objects.all().delete() - PersonM.objects.all().delete() - SurveyM.objects.all().delete() - ExpeditionM.objects.all().delete() - Logbook_entryM.objects.all().delete() - print('Deleted contents of the database, ready to load new stuff :)') - -def load_redirects(): - for oldURL, newURL in [("indxal.htm", reverse("caveindex"))]: - f = troggle.flatpages.models.Redirect(originalURL = oldURL, newURL = newURL) - f.save() - -def load_caves(): - import troggle.parsers.cavesM - troggle.parsers.cavesM.load() - -def load_all(): - load_caves() - load_surveys() - load_people() - load_redirects() - load_links() - print('Loaded everything. Your database is ready to go :)') - - -def help(): - print("""Usage is 'python databaseResetM.py <command>' - where command is: - UNLOADERS: - gracefull_flush - flushes new (M-style) databases contents but keeps tables existing - destroy - destroys entire database and builds empty tables - - LOADERS: - load_all - loads all tables and links - load_caves - loads all caves - load_surveys - loads all surveys (corresponds to .svx files) - load_people - loads all people - load_redirects - load page redirects - load_links - loads links between classes (run last! can't link non-existent things) - - OTHER: - help - displays this page - ---------------- - This is a new version of database management written by RW 2019 - ---------------- - """) - -if __name__ == "__main__": - import troggle.core.models - import sys - import django - django.setup() - if "destroy" in sys.argv: - destroy() - elif "gracefull_flush" in sys.argv: - gracefull_flush() - - elif "load_all" in sys.argv: - load_all() - elif "load_caves" in sys.argv: - load_caves() - elif "load_surveys" in sys.argv: - load_surveys() - elif "load_people" in sys.argv: - load_people() - elif "load_redirects" in sys.argv: - load_redirects() - elif "load_links" in sys.argv: - load_links() - elif "help" in sys.argv: - help() - else: - print("%s not recognised" % sys.argv) - help() - - - - |