1 | ### Procedimiento para actualización de la base de datos. |
---|
2 | # OpenGnSys 1.0.5 |
---|
3 | #use ogAdmBD |
---|
4 | |
---|
5 | # Eliminar procedimiento para evitar errores de ejecución. |
---|
6 | DROP PROCEDURE IF EXISTS addcols; |
---|
7 | # Procedimiento para actualización condicional de tablas. |
---|
8 | delimiter '//' |
---|
9 | CREATE PROCEDURE addcols() BEGIN |
---|
10 | # Añadir validación del cliente. |
---|
11 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
12 | WHERE COLUMN_NAME='validacion' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) |
---|
13 | THEN |
---|
14 | ALTER TABLE aulas |
---|
15 | ADD validacion TINYINT(1) DEFAULT 0, |
---|
16 | ADD paginalogin VARCHAR(100), |
---|
17 | ADD paginavalidacion VARCHAR(100); |
---|
18 | END IF; |
---|
19 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
20 | WHERE COLUMN_NAME='validacion' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) |
---|
21 | THEN |
---|
22 | ALTER TABLE ordenadores |
---|
23 | ADD validacion TINYINT(1) DEFAULT 0, |
---|
24 | ADD paginalogin VARCHAR(100), |
---|
25 | ADD paginavalidacion VARCHAR(100); |
---|
26 | END IF; |
---|
27 | # Submenú para comandos. |
---|
28 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
29 | WHERE COLUMN_NAME='submenu' AND TABLE_NAME='comandos' AND TABLE_SCHEMA=DATABASE()) |
---|
30 | THEN |
---|
31 | ALTER TABLE comandos |
---|
32 | ADD submenu VARCHAR(50) NOT NULL DEFAULT ''; |
---|
33 | END IF; |
---|
34 | # Añadir índice para mnemónicos de parámetros. |
---|
35 | IF NOT EXISTS (SELECT * FROM information_schema.STATISTICS |
---|
36 | WHERE COLUMN_NAME='nemonico' AND TABLE_NAME='parametros' AND TABLE_SCHEMA=DATABASE()) |
---|
37 | THEN |
---|
38 | ALTER TABLE parametros |
---|
39 | ADD KEY (nemonico); |
---|
40 | END IF; |
---|
41 | # Añadir imágenes diferenciales. |
---|
42 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
43 | WHERE COLUMN_NAME='tipo' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) |
---|
44 | THEN |
---|
45 | ALTER TABLE imagenes |
---|
46 | ADD tipo TINYINT NOT NULL DEFAULT 1, |
---|
47 | ADD imagenid INT NOT NULL DEFAULT 0, |
---|
48 | ADD ruta VARCHAR(250) NULL; |
---|
49 | UPDATE grupos SET tipo=70 WHERE tipo=50; |
---|
50 | END IF; |
---|
51 | # Comando Particionar y formatear. |
---|
52 | IF NOT EXISTS (SELECT * FROM information_schema.STATISTICS |
---|
53 | WHERE INDEX_NAME='descripcion' AND TABLE_NAME='sistemasficheros' AND TABLE_SCHEMA=DATABASE()) |
---|
54 | THEN |
---|
55 | ALTER TABLE sistemasficheros |
---|
56 | ADD UNIQUE INDEX descripcion (descripcion); |
---|
57 | END IF; |
---|
58 | # Añadir proxy para aulas. |
---|
59 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
60 | WHERE COLUMN_NAME='proxy' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) |
---|
61 | THEN |
---|
62 | ALTER TABLE aulas |
---|
63 | ADD proxy VARCHAR(30) AFTER dns; |
---|
64 | END IF; |
---|
65 | END// |
---|
66 | # Ejecutar actualización condicional. |
---|
67 | delimiter ';' |
---|
68 | CALL addcols(); |
---|
69 | DROP PROCEDURE addcols; |
---|
70 | |
---|
71 | # Nuevos comandos. |
---|
72 | INSERT INTO comandos (idcomando, descripcion, pagina, gestor, funcion, urlimg, aplicambito, visuparametros, parametros, comentarios, activo, submenu) VALUES |
---|
73 | (11, 'Eliminar Imagen Cache', '../comandos/EliminarImagenCache.php', '../comandos/gestores/gestor_Comandos.php', 'EliminarImagenCache', '', 31, 'iph;tis;dcr;scp', 'nfn;iph;tis;dcr;scp', '', 1, ''), |
---|
74 | (12, 'Crear Imagen Basica', '../comandos/CrearImagenBasica.php', '../comandos/gestores/gestor_Comandos.php', 'CrearImagenBasica', '', 16, 'dsk;par;cpt;idi;nci;ipr;iph;bpi;cpc;bpc;rti;nba', 'nfn;dsk;par;cpt;idi;nci;ipr;iph;bpi;cpc;bpc;rti;nba', '', 1, 'Sincronizacion'), |
---|
75 | (13, 'Restaurar Imagen Basica', '../comandos/RestaurarImagenBasica.php', '../comandos/gestores/gestor_Comandos.php', 'RestaurarImagenBasica', '', 28, 'dsk;par;idi;nci;ipr;iph;bpi;cpc;bpc;rti;nba;met', 'nfn;dsk;par;idi;nci;ipr;iph;bpi;cpc;bpc;rti;nba;met', '', 1, 'Sincronizacion'), |
---|
76 | (14, 'Crear Software Incremental', '../comandos/CrearSoftIncremental.php', '../comandos/gestores/gestor_Comandos.php', 'CrearSoftIncremental', '', 16, 'dsk;par;idi;nci;ipr;idf;ncf;bpi;cpc;bpc;iph;rti;nba', 'nfn;dsk;par;idi;nci;ipr;idf;ncf;bpi;cpc;bpc;iph;rti;nba', '', 1, 'Sincronizacion'), |
---|
77 | (15, 'Restaurar Software Incremental', '../comandos/RestaurarSoftIncremental.php', '../comandos/gestores/gestor_Comandos.php', 'RestaurarSoftIncremental', '', 28, 'dsk;par;idi;nci;ipr;idf;ncf;bpi;cpc;bpc;iph;rti;met;nba', 'nfn;dsk;par;idi;nci;ipr;idf;ncf;bpi;cpc;bpc;iph;rti;met;nba', '', 1, 'Sincronizacion') |
---|
78 | ON DUPLICATE KEY UPDATE |
---|
79 | descripcion=VALUES(descripcion), pagina=VALUES(pagina), |
---|
80 | gestor=VALUES(gestor), funcion=VALUES(funcion), urlimg=VALUES(urlimg), |
---|
81 | aplicambito=VALUES(aplicambito), visuparametros=VALUES(visuparametros), |
---|
82 | parametros=VALUES(parametros), comentarios=VALUES(comentarios), |
---|
83 | activo=VALUES(activo), submenu=VALUES(submenu); |
---|
84 | |
---|
85 | # Parámetros para los comandos nuevos. |
---|
86 | INSERT INTO parametros (idparametro, nemonico, descripcion, nomidentificador, nomtabla, nomliteral, tipopa, visual) VALUES |
---|
87 | (31, 'idf', 'Imagen Incremental', 'idimagen', 'imagenes', 'descripcion', 1, 1), |
---|
88 | (32, 'ncf', 'Nombre canónico de la Imagen Incremental', '', '', '', 0, 1), |
---|
89 | (33, 'bpi', 'Borrar imagen o partición previamente', '', '', '', 5, 1), |
---|
90 | (34, 'cpc', 'Copiar también en cache', '', '', '', 5, 1), |
---|
91 | (35, 'bpc', 'Borrado previo de la imagen en cache', '', '', '', 5, 1), |
---|
92 | (36, 'rti', 'Ruta de origen', '', '', '', 0, 1), |
---|
93 | (37, 'met', 'Método clonación', ';', '', 'Desde caché; Desde repositorio', 3, 1), |
---|
94 | (38, 'nba', 'No borrar archivos en destino', '', '', '', 0, 1) |
---|
95 | ON DUPLICATE KEY UPDATE |
---|
96 | nemonico=VALUES(nemonico), descripcion=VALUES(descripcion), |
---|
97 | nomidentificador=VALUES(nomidentificador), nomtabla=VALUES(nomtabla), |
---|
98 | nomliteral=VALUES(nomliteral), tipopa=VALUES(tipopa), visual=VALUES(visual); |
---|
99 | |
---|
100 | # Actualizar menús para nuevo parámetro "video" del Kernel, que sustituye a "vga" (ticket #573). |
---|
101 | ALTER TABLE menus |
---|
102 | MODIFY resolucion VARCHAR(50) DEFAULT NULL; |
---|
103 | UPDATE menus |
---|
104 | SET resolucion = CASE resolucion |
---|
105 | WHEN '355' THEN 'uvesafb:1152x864-16' |
---|
106 | WHEN '788' THEN 'uvesafb:800x600-16' |
---|
107 | WHEN '789' THEN 'uvesafb:800x600-24' |
---|
108 | WHEN '791' THEN 'uvesafb:1024x768-16' |
---|
109 | WHEN '792' THEN 'uvesafb:1024x768-24' |
---|
110 | WHEN '794' THEN 'uvesafb:1280x1024-16' |
---|
111 | WHEN '795' THEN 'uvesafb:1280x1024-24' |
---|
112 | WHEN '798' THEN 'uvesafb:1600x1200-16' |
---|
113 | WHEN '799' THEN 'uvesafb:1600x1200-24' |
---|
114 | WHEN NULL or '0' THEN 'uvesafb:800x600-16' |
---|
115 | ELSE resolucion |
---|
116 | END; |
---|
117 | |
---|
118 | # Cambios para NetBoot con ficheros dinámicos (tickets #534 #582). |
---|
119 | DROP TABLE IF EXISTS menuboot; |
---|
120 | DROP TABLE IF EXISTS itemboot; |
---|
121 | DROP TABLE IF EXISTS menuboot_itemboot; |
---|
122 | ALTER TABLE ordenadores |
---|
123 | MODIFY arranque VARCHAR(30) NOT NULL DEFAULT '00unknown'; |
---|
124 | UPDATE ordenadores SET arranque = '01' WHERE arranque = '1'; |
---|
125 | UPDATE ordenadores SET arranque = '19pxeadmin' WHERE arranque = 'pxeADMIN'; |
---|
126 | |
---|
127 | # Habilitar el comando Particionar y formatear. |
---|
128 | UPDATE comandos SET activo = '1' WHERE idcomando = 10; |
---|
129 | INSERT INTO sistemasficheros (descripcion, nemonico) VALUES |
---|
130 | ('EMPTY', 'EMPTY'), |
---|
131 | ('CACHE', 'CACHE'), |
---|
132 | ('BTRFS', 'BTRFS'), |
---|
133 | ('EXT2', 'EXT2'), |
---|
134 | ('EXT3', 'EXT3'), |
---|
135 | ('EXT4', 'EXT4'), |
---|
136 | ('FAT12', 'FAT12'), |
---|
137 | ('FAT16', 'FAT16'), |
---|
138 | ('FAT32', 'FAT32'), |
---|
139 | ('HFS', 'HFS'), |
---|
140 | ('HFSPLUS', 'HFSPLUS'), |
---|
141 | ('JFS', 'JFS'), |
---|
142 | ('NTFS', 'NTFS'), |
---|
143 | ('REISERFS', 'REISERFS'), |
---|
144 | ('REISER4', 'REISER4'), |
---|
145 | ('UFS', 'UFS'), |
---|
146 | ('XFS', 'XFS'), |
---|
147 | ('EXFAT', 'EXFAT') |
---|
148 | ON DUPLICATE KEY UPDATE |
---|
149 | descripcion=VALUES(descripcion), nemonico=VALUES(nemonico); |
---|
150 | INSERT INTO tipospar (codpar, tipopar, clonable) VALUES |
---|
151 | (CONV('EF',16,10), 'EFI', 1), |
---|
152 | (CONV('AB00',16,10), 'HFS-BOOT', 1), |
---|
153 | (CONV('EF00',16,10), 'EFI', 1) |
---|
154 | ON DUPLICATE KEY UPDATE |
---|
155 | codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); |
---|
156 | |
---|
157 | # Valores por defecto para incorporar ordenadores (ticket #609). |
---|
158 | ALTER TABLE ordenadores |
---|
159 | ALTER fotoord SET DEFAULT 'fotoordenador.gif', |
---|
160 | ALTER idproautoexec SET DEFAULT 0; |
---|
161 | |
---|