### Fichero de actualización de la base de datos. # OpenGnSys 1.0.6b - OpenGnsys 1.1.0 #use ogAdmBD ### NOTA: la configuración de MySQL solo puede modificarla el usuario "root". # Soportar cláusuloas GROUP BY especiales para configuración de equipos. #SET GLOBAL sql_mode = TRIM(BOTH ',' FROM REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')); # Activar calendario de eventos de MySQL. #SET GLOBAL event_scheduler = ON; # Nuevos tipos de particiones y de sistemas de ficheros (ticket #758). INSERT INTO tipospar (codpar, tipopar, clonable) VALUES (CONV('A9',16,10), 'NETBSD', 1), (CONV('2700',16,10), 'WIN-RECOV', 1), (CONV('8302',16,10), 'LINUX', 1), (CONV('A504',16,10), 'FREEBSD', 1), (CONV('A901',16,10), 'NETBSD-SWAP', 0), (CONV('A902',16,10), 'NETBSD', 1), (CONV('A903',16,10), 'NETBSD', 1), (CONV('A904',16,10), 'NETBSD', 1), (CONV('A905',16,10), 'NETBSD', 1), (CONV('A906',16,10), 'NETBSD-RAID', 1), (CONV('AF02',16,10), 'HFS-RAID', 1), (CONV('FB00',16,10), 'VMFS', 1), (CONV('FB01',16,10), 'VMFS-RESERV', 1), (CONV('FB02',16,10), 'VMFS-KRN', 1), (CONV('10000',16,10), 'LVM-LV', 1), (CONV('10010',16,10), 'ZFS-VOL', 1) ON DUPLICATE KEY UPDATE codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); INSERT INTO sistemasficheros (idsistemafichero, nemonico, descripcion) VALUES (20, 'F2FS', 'F2FS'), (21, 'NILFS2', 'NILFS2') ON DUPLICATE KEY UPDATE idsistemafichero=VALUES(idsistemafichero), nemonico=VALUES(nemonico), descripcion=VALUES(descripcion); # Eliminar campos sin uso (ticket #730). # Modificar número de puestos del aula para valores hasta 32768 (ticket #747) # Añadir campos para aulas: servidor NTP, inclusión en proyecto Remote PC y directorio de ogLive (tickets #725, #708 y #768) ALTER TABLE aulas DROP cuadro_x, DROP cuadro_y, MODIFY puestos SMALLINT DEFAULT NULL, ADD ntp VARCHAR(30) AFTER proxy, ADD inremotepc TINYINT DEFAULT 0, ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; # Añadir campos para nº de revisión de imágenes y su inclusión en proyecto Remote PC (tickets #737 y #708). ALTER TABLE imagenes ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER nombreca, ADD inremotepc TINYINT DEFAULT 0; # Adaptar campo para codificar claves de usuarios (ticket #778), # eliminar campo sin uso (ticket #730), # añadir clave de acceso a la API REST (tickets #708). ALTER TABLE usuarios MODIFY pasguor VARCHAR(56) NOT NULL DEFAULT '', ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; # Preparar generación de clave de acceso a la API REST para el usuario principal (ticket #708). UPDATE usuarios SET apikey = 'APIKEY' WHERE idusuario = 1 AND apikey = ''; # Codificar claves de usuarios (ticket #) INSERT INTO usuarios (idusuario, pasguor) SELECT idusuario, pasguor FROM usuarios ON DUPLICATE KEY UPDATE idusuario=VALUES(idusuario), pasguor=SHA2(VALUES(pasguor),224); # Añadir nº de revisión de imagen restaurada (ticket #737), # añadir porcentaje de uso de sistema de ficheros (ticket #711), # evitar errores "TEXT NOT NULL" y "NO_ZERO_DATE" (ticket #730). ALTER TABLE ordenadores_particiones MODIFY cache TEXT, ADD tdisk VARCHAR(4) DEFAULT NULL, ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER idimagen, ADD uso TINYINT NOT NULL DEFAULT 0; ALTER TABLE acciones MODIFY restrambito TEXT, MODIFY fechahorareg DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00', MODIFY fechahorafin DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00'; ALTER TABLE parametros MODIFY descripcion TEXT; ALTER TABLE tareas MODIFY restrambito TEXT; # Actualizar componentes hardware y añadir nº de serie, clave de acceso a API REST de OGAgent y directorio de ogLive (tickets #713, #718 y #768) ALTER TABLE tipohardwares DROP pci; INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES (17, 'Chasis del Sistema', '', 'cha'), (18, 'Controladores de almacenamiento', '../images/iconos/almacenamiento.png', 'sto'), (19, 'Tipo de proceso de arranque', '../images/iconos/arranque.png', 'boo'); ALTER TABLE ordenadores ADD numserie VARCHAR(25) DEFAULT NULL AFTER nombreordenador, ADD agentkey VARCHAR(32) DEFAULT NULL, ADD oglivedir VARCHAR(50) NOT NULL DEFAULT 'ogLive'; # Directorios en repo para distintas UO (ticket #678). ALTER TABLE entidades ADD ogunit TINYINT(1) NOT NULL DEFAULT 0; ALTER TABLE centros ADD directorio VARCHAR(50) DEFAULT ''; # Incluir campo ID sistema operativo en el perfil de software (tickets #738 #713) ALTER TABLE perfilessoft ADD idnombreso SMALLINT UNSIGNED AFTER idperfilsoft; # Añadir campo y generar clave de acceso a la API REST del repositorio (ticket #743). ALTER TABLE repositorios ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; UPDATE repositorios SET apikey = 'REPOKEY' WHERE idrepositorio = 1 AND apikey = ''; # Nuevas tablas para datos del proyecto Remote PC y operaciones de OGAgent (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 ogagent_queue ( id INT(11) NOT NULL AUTO_INCREMENT, clientid INT(11) NOT NULL, exectime DATETIME DEFAULT NULL, operation VARCHAR(25), PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; # 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, 'tit;msj', 'nfn;iph;tit;msj', '', 1, '' ); 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 #782) 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 ; # Ampliar programación de tareas hasta 2025 (ticket #732). ALTER TABLE programaciones MODIFY annos SMALLINT DEFAULT NULL, MODIFY meses SMALLINT DEFAULT NULL; # Eliminar tabla sin uso (ticket #730). DROP TABLE IF EXISTS campus;