From 0bd424bff731756eb16fa35886815baa48457d4c Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Mon, 16 Dec 2019 12:09:35 +0100 Subject: #945: `opengnsys_import.sh` script redefines the triggers creator user. --- installer/opengnsys_import.sh | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'installer/opengnsys_import.sh') diff --git a/installer/opengnsys_import.sh b/installer/opengnsys_import.sh index e2f13d50..0e7121eb 100755 --- a/installer/opengnsys_import.sh +++ b/installer/opengnsys_import.sh @@ -258,24 +258,15 @@ password=$PASSWORD EOT fi -# Si la BD tiene no definido el trigger necesitamos permisos de root -mysql --defaults-extra-file=$MYCNF -e "SHOW TRIGGERS FROM $CATALOG;" |grep "Trigger" &>/dev/null -if [ $? -eq 0 ]; then - # Existe el trigger: eliminamos líneas del trigger en $CATALOG.sql - read -d\n INI END <<< $(grep -n -e TRIGGER -e "END.*;;" $MYSQLFILE |cut -d: -f1) - [ -n "$INI" ] && sed -i "$INI,${END}d" $MYSQLFILE -else - # No existe: necesitamos privilegios de root - grep "user=root" $MYCNF &>/dev/null || mysqlPassword -fi - # Si la versión es diferente usamos una tabla auxiliar para actualizar el .sql [ "$DIFFVERSION" == TRUE ] && updateSqlFile # Eliminamos las tablas que no importamos: repositorios, entorno +# definimos usuario creador de los "triggers # y añadimos los usuarios, sólo si no existen. sed -i -e '/Table structure.* `repositorios`/,/Table structure/d' \ -e '/Table structure.* `entornos`/,/Table structure/d' \ + -e "s/\(DEFINER=\`\)[^\`]*\(\`.* TRIGGER\)/\1$USUARIO\2/" \ -e '/Table structure.*`usuarios`/,/CHARSET/d' \ -e '/usuarios/s/IGNORE//g' \ -e '/usuarios/s/^INSERT /\nALTER TABLE usuarios ADD UNIQUE (usuario);\n\nINSERT IGNORE /g' $MYSQLFILE -- cgit v1.2.3-18-g5258