From 2f0137f85eb6cd7ae7e0b3d819d424f8d36c783c Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Thu, 28 Nov 2019 23:30:26 +0100
Subject: [PATCH] Make errors creating default Yubikey service non-fatal.

---
 biscuit/core/apps.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/biscuit/core/apps.py b/biscuit/core/apps.py
index 2d4ad83fa..229d3bc09 100644
--- a/biscuit/core/apps.py
+++ b/biscuit/core/apps.py
@@ -1,8 +1,10 @@
 from glob import glob
 import os
+from warnings import warn
 
 from django.apps import AppConfig, apps
 from django.conf import settings
+from django.db.utils import ProgrammingError
 
 
 class CoreConfig(AppConfig):
@@ -19,9 +21,12 @@ class CoreConfig(AppConfig):
 
     def setup_data(self) -> None:
         if 'otp_yubikey' in settings.INSTALLED_APPS:
-            apps.get_model('otp_yubikey', 'ValidationService').objects.update_or_create(
-                name='default', defaults={'use_ssl': True, 'param_sl': '', 'param_timeout': ''}
-            )
+            try:
+                apps.get_model('otp_yubikey', 'ValidationService').objects.update_or_create(
+                    name='default', defaults={'use_ssl': True, 'param_sl': '', 'param_timeout': ''}
+                )
+            except ProgrammingError:
+                warn('Yubikey validation service could not be created yet. If you are currently in a migration, this is expected.')
 
     def ready(self) -> None:
         self.clean_scss()
-- 
GitLab