From 4e041e97b93e1ece316a77bbbe7c9896195aada0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 24 Mar 2022 13:00:03 +1100 Subject: [PATCH] Catch potential IntegrityError when importing plugins --- InvenTree/plugin/registry.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index 2db1beb805..3276c82f45 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -10,12 +10,13 @@ import pathlib import logging import os import subprocess + from typing import OrderedDict from importlib import reload from django.apps import apps from django.conf import settings -from django.db.utils import OperationalError, ProgrammingError +from django.db.utils import OperationalError, ProgrammingError, IntegrityError from django.conf.urls import url, include from django.urls import clear_url_caches from django.contrib import admin @@ -282,6 +283,8 @@ class PluginsRegistry: if not settings.PLUGIN_TESTING: raise error # pragma: no cover plugin_db_setting = None + except (IntegrityError) as error: + logger.error(f"Error initializing plugin: {error}") # Always activate if testing if settings.PLUGIN_TESTING or (plugin_db_setting and plugin_db_setting.active):