From 08cea1c3e62b622ccf6fa5b376178a353caa8fbd Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Wed, 18 Jan 2023 14:21:18 +0100
Subject: [PATCH] Catch error in 0047_add_room_model on empty database

---
 aleksis/core/migrations/0047_add_room_model.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/aleksis/core/migrations/0047_add_room_model.py b/aleksis/core/migrations/0047_add_room_model.py
index 2194017cf..c9a59d3e2 100644
--- a/aleksis/core/migrations/0047_add_room_model.py
+++ b/aleksis/core/migrations/0047_add_room_model.py
@@ -3,10 +3,12 @@
 from django.apps import apps
 import django.contrib.sites.managers
 from django.db import migrations, models
+from django.db.utils import ProgrammingError
 import django.db.models.deletion
 import django.utils.timezone
 import oauth2_provider.generators
 import oauth2_provider.models
+from psycopg2.errors import UndefinedTable
 
 
 class Migration(migrations.Migration):
@@ -18,7 +20,12 @@ class Migration(migrations.Migration):
 
     if "chronos" in apps.app_configs:
         recorder = migrations.recorder
-        if not recorder.MigrationRecorder.Migration.objects.filter(app="core", name="0046_add_room_model").exists():
+        applied = False
+        try:
+            applied = recorder.MigrationRecorder.Migration.objects.filter(app="core", name="0046_add_room_model").exists()
+        except ProgrammingError:
+            applied = False
+        if not applied:
             dependencies.append(('chronos', '0012_add_supervision_global_permission'))
 
     operations = [
-- 
GitLab