diff options
author | ramon <ramongomez@us.es> | 2017-05-09 10:40:48 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2017-05-09 10:40:48 +0000 |
commit | 049ec55cd8bfdb4760cfaf5264010bdafad56b80 (patch) | |
tree | 823cdaf293f6e35ef01c68c3bbb479234bb24e2e /admin/Database | |
parent | 2ee1f60c9f73b8b0e1abdb352cbe1945309297df (diff) |
#782: Crear nueva tabla {{{acciones_log}}} y crear trigger para añadir automáticamente en ella los registros borrados de la tabla {{{acciones}}}.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5290 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/Database')
-rw-r--r-- | admin/Database/ogAdmBD-1.0.6b-1.1.0pre.sql | 29 | ||||
-rw-r--r-- | admin/Database/ogAdmBD-1.1.0pre.sql | 25 | ||||
-rw-r--r-- | admin/Database/ogAdmBD.sql | 26 |
3 files changed, 66 insertions, 14 deletions
diff --git a/admin/Database/ogAdmBD-1.0.6b-1.1.0pre.sql b/admin/Database/ogAdmBD-1.0.6b-1.1.0pre.sql index f3a24eef..b358f33d 100644 --- a/admin/Database/ogAdmBD-1.0.6b-1.1.0pre.sql +++ b/admin/Database/ogAdmBD-1.0.6b-1.1.0pre.sql @@ -99,13 +99,13 @@ ALTER TABLE aulas MODIFY puestos smallint DEFAULT NULL; # Nueva tabla para datos del proyecto Remote PC (ticket #708). -CREATE TABLE IF NOT EXISTS remotepc ( - id INT(11) NOT NULL, - reserved DATETIME DEFAULT NULL, - urllogin VARCHAR(100), - urllogout VARCHAR(100), - PRIMARY KEY (id) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE IF NOT EXISTS remotepc ( + id INT(11) NOT NULL, + reserved DATETIME DEFAULT NULL, + urllogin VARCHAR(100), + urllogout VARCHAR(100), + PRIMARY KEY (id) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # Nuevo comando "Enviar mensaje" (ticket #779) INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, @@ -115,3 +115,18 @@ INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES (39, 'tit', 'Título', '', '', '', 0, 1), (40, 'msj', 'Contenido', '', '', '', 0, 1); + +# Crear tabla de log para la cola de acciones (ticket #...) +CREATE TABLE IF NOT EXISTS acciones_log LIKE acciones; +ALTER TABLE acciones_log ADD fecha_borrado DATETIME; +DELIMITER // +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// +DELIMITER ; + diff --git a/admin/Database/ogAdmBD-1.1.0pre.sql b/admin/Database/ogAdmBD-1.1.0pre.sql index 1ae81ddb..13aedfaa 100644 --- a/admin/Database/ogAdmBD-1.1.0pre.sql +++ b/admin/Database/ogAdmBD-1.1.0pre.sql @@ -5,7 +5,7 @@ # Eliminar procedimiento para evitar errores de ejecución. DROP PROCEDURE IF EXISTS addcols; # Procedimiento para actualización condicional de tablas. -delimiter '//' +DELIMITER '//' CREATE PROCEDURE addcols() BEGIN # Añadir campo para incluir aulas en proyecto Remote PC (ticket #708). IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS @@ -121,9 +121,26 @@ 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 #...) + 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// # Ejecutar actualización condicional. -delimiter ';' +DELIMITER ';' CALL addcols(); DROP PROCEDURE addcols; @@ -170,8 +187,8 @@ INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES descripcion=VALUES(descripcion), urlimg=VALUES(urlimg), nemonico=VALUES(nemonico); # Número de puestos del aula permite valores hasta 32768 (ticket #747) -ALTER TABLE aulas - MODIFY puestos smallint DEFAULT NULL; +ALTER TABLE aulas + MODIFY puestos SMALLINT DEFAULT NULL; # Nueva tabla para datos del proyecto Remote PC (ticket #708). CREATE TABLE IF NOT EXISTS remotepc ( diff --git a/admin/Database/ogAdmBD.sql b/admin/Database/ogAdmBD.sql index 888f68b6..4a728884 100644 --- a/admin/Database/ogAdmBD.sql +++ b/admin/Database/ogAdmBD.sql @@ -44,6 +44,26 @@ CREATE TABLE IF NOT EXISTS `acciones` ( -- -------------------------------------------------------- -- +-- Estructura de tabla para la tabla `acciones_log` +-- + +CREATE TABLE IF NOT EXISTS acciones_log LIKE acciones; +ALTER TABLE acciones_log ADD fecha_borrado DATETIME; +DELIMITER // +-- Trigger para guardar acciones antes de ser borradas. +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// +DELIMITER ; + +-- -------------------------------------------------------- + +-- -- Estructura de tabla para la tabla `acciones_menus` -- @@ -185,7 +205,7 @@ CREATE TABLE IF NOT EXISTS `centros` ( -- Volcar la base de datos para la tabla `centros` -- INSERT INTO `centros` (`idcentro`,`nombrecentro`,`identidad`,`comentarios`) VALUES - (1,'Unidad Organizativa (Default)',1,'Esta Unidad Organizativa se crea automáticamente en el proceso de instalación de OpenGnSys'); + (1,'Unidad Organizativa (Default)',1,'Esta Unidad Organizativa se crea automáticamente en el proceso de instalación de OpenGnsys'); -- -------------------------------------------------------- @@ -255,7 +275,7 @@ CREATE TABLE IF NOT EXISTS `entidades` ( -- INSERT INTO `entidades` (`identidad`, `nombreentidad`, `comentarios`, `iduniversidad`, `grupoid`) VALUES -(1, 'Entidad (Default)', 'Esta Entidad se crea automáticamente en el proceso de instalación de OpenGnSys', 1, 0); +(1, 'Entidad (Default)', 'Esta Entidad se crea automáticamente en el proceso de instalación de OpenGnsys', 1, 0); -- -------------------------------------------------------- @@ -1051,7 +1071,7 @@ CREATE TABLE IF NOT EXISTS `universidades` ( -- INSERT INTO `universidades` (`iduniversidad`, `nombreuniversidad`, `comentarios`) VALUES -(1, 'Universidad (Default)', 'Esta Universidad se crea automáticamentese en el proceso de instalación de OpenGnSys'); +(1, 'Universidad (Default)', 'Esta Universidad se crea automáticamentese en el proceso de instalación de OpenGnsys'); -- -------------------------------------------------------- |