diff --git a/apps/installation/__init__.py b/apps/installation/__init__.py index a2d1e50c95..0b43b0fffe 100644 --- a/apps/installation/__init__.py +++ b/apps/installation/__init__.py @@ -7,6 +7,7 @@ from project_tools.api import register_tool from django.dispatch import receiver from django.db.models.signals import post_save from django.db.utils import DatabaseError +from django.db import transaction from .links import installation_details from .models import Installation @@ -20,12 +21,13 @@ def trigger_first_time(sender, **kwargs): details.save() +@transaction.commit_on_success def check_first_run(): try: details = Installation.objects.get() except DatabaseError: # Avoid database errors when the app tables haven't been created yet - pass + transaction.rollback() else: if details.is_first_run: details.submit()