From 6cfb62b92d487b504996d200926bba0f13135590 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Sat, 21 Jul 2018 10:19:23 +0400 Subject: [PATCH] =?UTF-8?q?sqlmig:=20ignorer=20les=20op=C3=A9rations=20de?= =?UTF-8?q?=20maintenance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sqlmig | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/sqlmig b/sqlmig index 7f4a00d..246f5f6 100755 --- a/sqlmig +++ b/sqlmig @@ -39,6 +39,10 @@ base de données est interdite. De plus, tous les fichiers de mise à jour de la forme *.devel.sql sont ignorés. Cela permet de fignoler une mise à jour sans risquer de l'exécuter en production. +Les fichiers de la forme maint-*.sql sont ignorés sauf s'ils sont explicitement +sélectionnés avec l'option -f ce qui permet de suivre les opérations de +maintenance faites sur la base de données. + USAGE $scriptname [options] @@ -1198,18 +1202,20 @@ if [ -n "$updateone" ]; then fi function should_update() { local update="$1" name + setx name=basename "$update" if [ -n "$updateone" ]; then + # prendre tous les fichiers sélectionnés par -f array_contains updatefiles "$update" return $? - else - setx name=basename "$update" - if [ "$dbmode" != devel -a "${name%.devel.sql}" != "$name" ]; then - # si on est en mode autre que devel, le nom ne doit pas se terminer - # par .devel.sql - return 1 - fi - return 0 + elif [ "${name#maint-}" != "$name" ]; then + # ignorer les opérations de maintenance par défaut + return 1 + elif [ "$dbmode" != devel -a "${name%.devel.sql}" != "$name" ]; then + # si on est en mode autre que devel, le nom ne doit pas se terminer + # par .devel.sql + return 1 fi + return 0 } # répertoire temporaire pour Oracle