From 4923a507c93e47a520aa6a2c8f7df7f7f39890ab Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Fri, 7 Oct 2016 21:00:34 -0400 Subject: [PATCH] Reverted sleep to 30, caught boot code that cannot run during migration --- .travis.yml | 2 +- app/boot.py | 30 +++++++++++++++++------------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index cc03f47f..4455b2da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,6 @@ before_install: install: - docker-compose up --build -d - - sleep 60 + - sleep 30 script: docker-compose exec webapp python manage.py test diff --git a/app/boot.py b/app/boot.py index 6fe2ce66..59a98661 100644 --- a/app/boot.py +++ b/app/boot.py @@ -2,23 +2,27 @@ def boot(): from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import Permission from django.contrib.auth.models import User, Group + from django.db.utils import ProgrammingError from . import signals import logging logger = logging.getLogger('app.logger') # Check default group - default_group, created = Group.objects.get_or_create(name='Default') - if created: - logger.info("Created default group") + try: + default_group, created = Group.objects.get_or_create(name='Default') + if created: + logger.info("Created default group") - # Add default permissions (view_project, change_project, delete_task, etc.) - for permission in ('_project', '_task'): - default_group.permissions.add( - *list(Permission.objects.filter(codename__endswith=permission)) - ) - - # Check super user - if User.objects.count() == 0: - User.objects.create_superuser('admin', 'admin@example.com', 'admin') - logger.info("Created superuser") + # Add default permissions (view_project, change_project, delete_task, etc.) + for permission in ('_project', '_task'): + default_group.permissions.add( + *list(Permission.objects.filter(codename__endswith=permission)) + ) + + # Check super user + if User.objects.count() == 0: + User.objects.create_superuser('admin', 'admin@example.com', 'admin') + logger.info("Created superuser") + except ProgrammingError: + logger.warn("Could not create default group/user. If running a migration, this is expected.")