[6f62a1a] | 1 | ### Fichero de actualización de la base de datos. |
---|
| 2 | # OpenGnSys 1.0.6 |
---|
| 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 campo para incluir aulas en proyecto Remote PC (ticket #708). |
---|
| 11 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 12 | WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) |
---|
| 13 | THEN |
---|
| 14 | ALTER TABLE aulas |
---|
| 15 | ADD inremotepc TINYINT DEFAULT 0; |
---|
| 16 | END IF; |
---|
[750388b] | 17 | # Añadir campo para incluir imágenes en proyecto Remote PC (ticket #708). |
---|
| 18 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 19 | WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) |
---|
| 20 | THEN |
---|
| 21 | ALTER TABLE imagenes |
---|
| 22 | ADD inremotepc TINYINT DEFAULT 0; |
---|
| 23 | END IF; |
---|
[6f62a1a] | 24 | # Añadir campo para clave de acceso a la API REST (ticket #708). |
---|
| 25 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 26 | WHERE COLUMN_NAME='apikey' AND TABLE_NAME='usuarios' AND TABLE_SCHEMA=DATABASE()) |
---|
| 27 | THEN |
---|
| 28 | ALTER TABLE usuarios |
---|
| 29 | ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; |
---|
| 30 | END IF; |
---|
| 31 | # Añadir porcentaje de uso de sistema de ficheros (ticket #711) |
---|
| 32 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 33 | WHERE COLUMN_NAME='uso' AND TABLE_NAME='ordenadores_particiones' AND TABLE_SCHEMA=DATABASE()) |
---|
| 34 | THEN |
---|
| 35 | ALTER TABLE ordenadores_particiones |
---|
| 36 | ADD uso TINYINT NOT NULL DEFAULT 0; |
---|
| 37 | END IF; |
---|
| 38 | # Añadir nº de serie (ticket #713) |
---|
| 39 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 40 | WHERE COLUMN_NAME='numserie' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) |
---|
| 41 | THEN |
---|
| 42 | ALTER TABLE ordenadores |
---|
| 43 | ADD numserie varchar(25) DEFAULT NULL AFTER nombreordenador; |
---|
| 44 | END IF; |
---|
[b8157d6] | 45 | # Añadir campo para clave de acceso a la API REST de OGAgent (ticket #718). |
---|
| 46 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 47 | WHERE COLUMN_NAME='agentkey' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE()) |
---|
| 48 | THEN |
---|
| 49 | ALTER TABLE ordenadores |
---|
| 50 | ADD agentkey VARCHAR(32) DEFAULT NULL; |
---|
| 51 | END IF; |
---|
[6f62a1a] | 52 | # Eliminar campos no usado en inventario de hardware (ticket #713). |
---|
| 53 | IF EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 54 | WHERE COLUMN_NAME='pci' AND TABLE_NAME='tipohardwares' AND TABLE_SCHEMA=DATABASE()) |
---|
| 55 | THEN |
---|
| 56 | ALTER TABLE tipohardwares |
---|
| 57 | DROP pci; |
---|
| 58 | END IF; |
---|
[750388b] | 59 | # Añadir servidor de sincronización horaria NTP (ticket #725). |
---|
| 60 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 61 | WHERE COLUMN_NAME='ntp' AND TABLE_NAME='aulas' AND TABLE_SCHEMA=DATABASE()) |
---|
| 62 | THEN |
---|
| 63 | ALTER TABLE aulas |
---|
| 64 | ADD ntp VARCHAR(30) AFTER proxy; |
---|
| 65 | END IF; |
---|
[56529d2] | 66 | # Directorios en repo para distintas UO (ticket #678). |
---|
| 67 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 68 | WHERE COLUMN_NAME='ogunit' AND TABLE_NAME='entidades' AND TABLE_SCHEMA=DATABASE()) |
---|
[b0cd6af] | 69 | THEN |
---|
[56529d2] | 70 | ALTER TABLE entidades |
---|
| 71 | ADD ogunit TINYINT(1) NOT NULL DEFAULT 0; |
---|
| 72 | END IF; |
---|
| 73 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 74 | WHERE COLUMN_NAME='directorio' AND TABLE_NAME='centros' AND TABLE_SCHEMA=DATABASE()) |
---|
[b0cd6af] | 75 | THEN |
---|
[56529d2] | 76 | ALTER TABLE centros |
---|
| 77 | ADD directorio VARCHAR(50) DEFAULT ''; |
---|
| 78 | END IF; |
---|
[84fa8d6] | 79 | # Nº de revisión de imagen (ticket #737). |
---|
| 80 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 81 | WHERE COLUMN_NAME='revision' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE()) |
---|
| 82 | THEN |
---|
| 83 | ALTER TABLE imagenes |
---|
| 84 | ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER nombreca; |
---|
| 85 | END IF; |
---|
| 86 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 87 | WHERE COLUMN_NAME='revision' AND TABLE_NAME='ordenadores_particiones' AND TABLE_SCHEMA=DATABASE()) |
---|
| 88 | THEN |
---|
| 89 | ALTER TABLE ordenadores_particiones |
---|
| 90 | ADD revision SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER idimagen; |
---|
| 91 | END IF; |
---|
[212d995] | 92 | # Incluir campo sistema operativo en el perfil de software (tickets #738 #713) |
---|
| 93 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 94 | WHERE COLUMN_NAME='idnombreso' AND TABLE_NAME='perfilessoft' AND TABLE_SCHEMA=DATABASE()) |
---|
| 95 | THEN |
---|
| 96 | ALTER TABLE perfilessoft |
---|
| 97 | ADD idnombreso SMALLINT UNSIGNED AFTER idperfilsoft; |
---|
| 98 | END IF; |
---|
[15acccd] | 99 | # Añadir campo para clave de acceso a la API REST del repositorio (ticket #743). |
---|
| 100 | IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS |
---|
| 101 | WHERE COLUMN_NAME='apikey' AND TABLE_NAME='repositorios' AND TABLE_SCHEMA=DATABASE()) |
---|
| 102 | THEN |
---|
| 103 | ALTER TABLE repositorios |
---|
| 104 | ADD apikey VARCHAR(32) NOT NULL DEFAULT ''; |
---|
| 105 | END IF; |
---|
[6f62a1a] | 106 | END// |
---|
| 107 | # Ejecutar actualización condicional. |
---|
| 108 | delimiter ';' |
---|
| 109 | CALL addcols(); |
---|
| 110 | DROP PROCEDURE addcols; |
---|
| 111 | |
---|
| 112 | # Nuevos tipos de particiones. |
---|
| 113 | INSERT INTO tipospar (codpar, tipopar, clonable) VALUES |
---|
| 114 | (CONV('A9',16,10), 'NETBSD', 1), |
---|
| 115 | (CONV('2700',16,10), 'WIN-RECOV', 1), |
---|
| 116 | (CONV('8302',16,10), 'LINUX', 1), |
---|
| 117 | (CONV('A504',16,10), 'FREEBSD', 1), |
---|
| 118 | (CONV('A901',16,10), 'NETBSD-SWAP', 0), |
---|
| 119 | (CONV('A902',16,10), 'NETBSD', 1), |
---|
| 120 | (CONV('A903',16,10), 'NETBSD', 1), |
---|
| 121 | (CONV('A904',16,10), 'NETBSD', 1), |
---|
| 122 | (CONV('A905',16,10), 'NETBSD', 1), |
---|
| 123 | (CONV('A906',16,10), 'NETBSD-RAID', 1), |
---|
| 124 | (CONV('AF02',16,10), 'HFS-RAID', 1), |
---|
| 125 | (CONV('FB00',16,10), 'VMFS', 1), |
---|
| 126 | (CONV('FB01',16,10), 'VMFS-RESERV', 1), |
---|
| 127 | (CONV('FB02',16,10), 'VMFS-KRN', 1) |
---|
| 128 | ON DUPLICATE KEY UPDATE |
---|
| 129 | codpar=VALUES(codpar), tipopar=VALUES(tipopar), clonable=VALUES(clonable); |
---|
| 130 | |
---|
[8e0f770] | 131 | # Preparar generación de claves de acceso a la API REST para el usuario principal y a la del repositorio principal (tickets #708 y #743). |
---|
[077d8df1] | 132 | UPDATE usuarios |
---|
| 133 | SET apikey = 'APIKEY' |
---|
| 134 | WHERE idusuario = 1 AND apikey = ''; |
---|
[8e0f770] | 135 | UPDATE repositorios |
---|
| 136 | SET apikey = 'REPOKEY' |
---|
| 137 | WHERE idrepositorio = 1 AND apikey = ''; |
---|
[077d8df1] | 138 | |
---|
[6f62a1a] | 139 | # Nuevos componentes hardware (ticket #713) |
---|
| 140 | INSERT INTO tipohardwares (idtipohardware, descripcion, urlimg, nemonico) VALUES |
---|
| 141 | (17, 'Chasis del Sistema', '', 'cha'), |
---|
[212d995] | 142 | (18, 'Controladores de almacenamiento', '../images/iconos/almacenamiento.png', 'sto'), |
---|
| 143 | (19, 'Tipo de proceso de arranque', '../images/iconos/arranque.png', 'boo') |
---|
[6f62a1a] | 144 | ON DUPLICATE KEY UPDATE |
---|
| 145 | descripcion=VALUES(descripcion), urlimg=VALUES(urlimg), nemonico=VALUES(nemonico); |
---|
| 146 | |
---|
[7da6e599] | 147 | # Número de puestos del aula permite valores hasta 32768 (ticket #747) |
---|
| 148 | ALTER TABLE aulas |
---|
| 149 | MODIFY puestos smallint DEFAULT NULL; |
---|