From e2f21c9056985503ac86f15bc0405c8e3dfdb608 Mon Sep 17 00:00:00 2001 From: amandine-sahl Date: Tue, 10 Oct 2023 10:56:23 +0200 Subject: [PATCH] Test if migration is run during installation or migration --- ...528c94d350_upgrade_existing_permissions.py | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/backend/gn_module_monitoring/migrations/c1528c94d350_upgrade_existing_permissions.py b/backend/gn_module_monitoring/migrations/c1528c94d350_upgrade_existing_permissions.py index 648a99c98..b4d28de3e 100644 --- a/backend/gn_module_monitoring/migrations/c1528c94d350_upgrade_existing_permissions.py +++ b/backend/gn_module_monitoring/migrations/c1528c94d350_upgrade_existing_permissions.py @@ -12,6 +12,9 @@ from gn_module_monitoring.command.cmd import process_available_permissions from gn_module_monitoring.command.utils import installed_modules +from gn_module_monitoring.monitoring.models import TMonitoringModules + +from sqlalchemy.exc import ProgrammingError # revision identifiers, used by Alembic. revision = "c1528c94d350" @@ -21,7 +24,22 @@ def upgrade(): - # Création des permissions disponibles pour chaque module + """ + Création des permissions disponibles pour chaque module + et nettoyage des permissions disponibles + """ + + # Si c'est la révision est lancée dans le contexte de l'installation du module + # la mise à jour des permissions n'est pas nécessaire + # et la fonction installed_modules ne peut être lancée + # Si installation la requête TMonitoringModules.query.first() lance une ProgrammingError + + try: + TMonitoringModules.query.first() + except ProgrammingError: + # Si erreur alors installation fraiche pas besoin de mettre à jour l'existant + return + for module in installed_modules(): process_available_permissions(module["module_code"])