From 0a42c1c2f4abf0b935bdc7b068a9e031e83faa88 Mon Sep 17 00:00:00 2001 From: ramon Date: Fri, 26 May 2017 08:59:50 +0000 Subject: #730: Corregir erratas modificando BD al actualizar un servidor OpenGnsys 1.1.0. git-svn-id: https://opengnsys.es/svn/branches/version1.1@5318 a21b9725-9963-47de-94b9-378ad31fedc9 --- admin/Database/ogAdmBD-1.1.0pre.sql | 47 +++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'admin/Database') diff --git a/admin/Database/ogAdmBD-1.1.0pre.sql b/admin/Database/ogAdmBD-1.1.0pre.sql index 13aedfaa..d7e6ab04 100644 --- a/admin/Database/ogAdmBD-1.1.0pre.sql +++ b/admin/Database/ogAdmBD-1.1.0pre.sql @@ -2,8 +2,11 @@ # OpenGnsys 1.1.0 #use ogAdmBD -# Eliminar procedimiento para evitar errores de ejecución. +SET GLOBAL event_scheduler = ON; + +# Eliminar procedimiento y disparador para evitar errores de ejecución. DROP PROCEDURE IF EXISTS addcols; +DROP TRIGGER IF EXISTS registrar_acciones; # Procedimiento para actualización condicional de tablas. DELIMITER '//' CREATE PROCEDURE addcols() BEGIN @@ -111,8 +114,8 @@ CREATE PROCEDURE addcols() BEGIN ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; END IF; # Codificar claves de los usuarios, si fuese necesario (ticket #778) - IF (SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS - WHERE COLUMN_NAME='pasguor' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE() != 56) + IF ((SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS + WHERE COLUMN_NAME='pasguor' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE()) != 56) THEN ALTER TABLE usuarios MODIFY pasguor VARCHAR(56) NOT NULL DEFAULT ''; @@ -121,24 +124,25 @@ CREATE PROCEDURE addcols() BEGIN ON DUPLICATE KEY UPDATE pasguor=SHA2(VALUES(pasguor),224); END IF; - # Crear tabla de log para la cola de acciones (ticket #...) + # Crear tabla de log pra la cola de acciones (ticket #782) IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME='acciones_log' AND TABLE_SCHEMA=DATABASE()) THEN CREATE TABLE acciones_log LIKE acciones; ALTER TABLE acciones_log ADD fecha_borrado DATETIME; - CREATE TRIGGER registrar_acciones BEFORE DELETE ON acciones FOR EACH ROW - BEGIN - INSERT INTO acciones_log VALUES - (OLD.idaccion, OLD.tipoaccion, OLD.idtipoaccion, OLD.descriaccion, - OLD.idordenador, OLD.ip, OLD.sesion, OLD.idcomando, OLD.parametros, - OLD.fechahorareg, OLD.fechahorafin, OLD.estado, OLD.resultado, - OLD.descrinotificacion, OLD.ambito, OLD.idambito, OLD.restrambito, - OLD.idprocedimiento, OLD.idtarea, OLD.idcentro, OLD.idprogramacion, - NOW()); - END; END IF; END// +# Disparador para mover acciones borradas a la tabla de registro de acciones. +CREATE TRIGGER registrar_acciones BEFORE DELETE ON acciones FOR EACH ROW +BEGIN + INSERT INTO acciones_log VALUES + (OLD.idaccion, OLD.tipoaccion, OLD.idtipoaccion, OLD.descriaccion, + OLD.idordenador, OLD.ip, OLD.sesion, OLD.idcomando, OLD.parametros, + OLD.fechahorareg, OLD.fechahorafin, OLD.estado, OLD.resultado, + OLD.descrinotificacion, OLD.ambito, OLD.idambito, OLD.restrambito, + OLD.idprocedimiento, OLD.idtarea, OLD.idcentro, OLD.idprogramacion, + NOW()); +END// # Ejecutar actualización condicional. DELIMITER ';' CALL addcols(); @@ -202,12 +206,19 @@ ALTER TABLE remotepc MODIFY reserved DATETIME DEFAULT NULL; # Nuevo comando "Enviar mensaje" (ticket #779) -INSERT INTO `comandos` (`idcomando`, `descripcion`, `pagina`, `gestor`, `funcion`, `urlimg`, - `aplicambito`, `visuparametros`, `parametros`, `comentarios`, `activo`, `submenu`) VALUES - (16, 'Enviar mensaje', '../comandos/EnviarMensaje.php', '../comandos/gestores/gestor_Comandos.php', 'EnviarMensaje', '', 31, '', '', '', 1, '' ); +INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, + aplicambito, visuparametros, parametros, comentarios, activo, submenu) VALUES + (16, 'Enviar mensaje', '../comandos/EnviarMensaje.php', '../comandos/gestores/gestor_Comandos.php', 'EnviarMensaje', '', 31, '', '', '', 1, '' ) + ON DUPLICATE KEY UPDATE + descripcion=VALUES(descripcion), pagina=VALUES(pagina), + gestor=VALUES(gestor), funcion=VALUES(funcion), + aplicambito=VALUES(aplicambito), activo=VALUES(activo); INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES (39, 'tit', 'Título', '', '', '', 0, 1), - (40, 'msj', 'Contenido', '', '', '', 0, 1); + (40, 'msj', 'Contenido', '', '', '', 0, 1) + ON DUPLICATE KEY UPDATE + nemonico=VALUES(nemonico), descripcion=VALUES(descripcion), + tipopa=VALUES(tipopa), visual=VALUES(visual); # Evitar error de MySQL con modo NO_ZERO_DATE (ticket #730). ALTER TABLE acciones -- cgit v1.2.3-18-g5258