summaryrefslogtreecommitdiffstats
path: root/admin/Database/ogAdmBD-1.0.6b-1.1.0.sql
blob: 6b7ad95e2a3681f664dbe0cf2898c8a79c5ff142 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
### 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).
# Añadir campos para aulas: servidor NTP e inclusión en proyecto Remote PC (tickets #725 y #708).
ALTER TABLE aulas
	DROP cuadro_x,
	DROP cuadro_y,
	ADD ntp VARCHAR(30) AFTER proxy,
	ADD inremotepc TINYINT DEFAULT 0;
# 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 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 = '';

# Número de puestos del aula permite valores hasta 32768 (ticket #747)
ALTER TABLE  aulas
     MODIFY puestos smallint  DEFAULT NULL;

# 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;