· 6 years ago · Apr 02, 2019, 12:20 PM
1Rellenar:
2- Mantenimiento
3- bd_fases_nus.estat
4
5 ------
6
7ALTER TABLE `equipo`
8 ADD COLUMN `parent_monitoritzacio` TINYINT(1) NULL DEFAULT '0' AFTER `encriptat`,
9 ADD COLUMN `id_reservat` BIGINT(255) NULL DEFAULT NULL AFTER `id_monitoritzacio`,
10 ADD CONSTRAINT `FK_equipo_reservat` FOREIGN KEY (`id_reservat`) REFERENCES `equipo` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;
11
12UPDATE equipo e
13 INNER JOIN equipo eq ON eq.parent=e.id
14 INNER JOIN monitoritzacio m ON m.id=e.id_monitoritzacio
15 SET e.parent_monitoritzacio=1
16 WHERE e.fisic=0 AND m.nom NOT IN ('NO MONITORITZABLE');
17
18DROP TABLE IF EXISTS `inter_equipo_llicencia`;
19DROP TABLE IF EXISTS `llicencia`;
20 /*!40101 SET @saved_cs_client = @@character_set_client */;
21 /*!40101 SET character_set_client = utf8 */;
22 CREATE TABLE `llicencia` (
23 `id` bigint(255) NOT NULL AUTO_INCREMENT,
24 `nom` varchar(255) COLLATE utf8_spanish_ci NOT NULL,
25 `descripcio` longtext COLLATE utf8_spanish_ci,
26 `data_fi` date DEFAULT NULL,
27 `permanent` tinyint(1) NOT NULL DEFAULT '0',
28 `id_marca` bigint(255) NOT NULL DEFAULT '0',
29 PRIMARY KEY (`id`),
30 UNIQUE KEY `uc_nom` (`nom`),
31 KEY `FK_llicencia_marca` (`id_marca`),
32 CONSTRAINT `FK_llicencia_marca` FOREIGN KEY (`id_marca`) REFERENCES `marca` (`id`) ON UPDATE CASCADE
33 ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
34
35 /*!40101 SET @saved_cs_client = @@character_set_client */;
36 /*!40101 SET character_set_client = utf8 */;
37 CREATE TABLE `inter_equipo_llicencia` (
38 `id` bigint(255) NOT NULL AUTO_INCREMENT,
39 `id_equipo` bigint(255) NOT NULL,
40 `id_llicencia` bigint(255) NOT NULL,
41 `id_estat` bigint(255) NOT NULL,
42 `id_usuari` bigint(255) NOT NULL,
43 `data` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
44 `observacions` longtext COLLATE utf8_spanish_ci,
45 PRIMARY KEY (`id`),
46 KEY `FK_inter_equipo_llicencia_equipo` (`id_equipo`),
47 KEY `FK_inter_equipo_llicencia_llicencia` (`id_llicencia`),
48 KEY `FK_inter_equipo_llicencia_estat` (`id_estat`),
49 KEY `FK_inter_equipo_llicencia_usuari` (`id_usuari`),
50 CONSTRAINT `FK_inter_equipo_llicencia_estat` FOREIGN KEY (`id_estat`) REFERENCES `estat` (`id`) ON UPDATE CASCADE,
51 CONSTRAINT `FK_inter_equipo_llicencia_usuari` FOREIGN KEY (`id_usuari`) REFERENCES `usuari` (`id`) ON UPDATE CASCADE,
52 CONSTRAINT `FK_inter_equipo_llicencia_equipo` FOREIGN KEY (`id_equipo`) REFERENCES `equipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
53 CONSTRAINT `FK_inter_equipo_llicencia_llicencia` FOREIGN KEY (`id_llicencia`) REFERENCES `llicencia` (`id`) ON UPDATE CASCADE
54 ) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
55
56DROP TABLE IF EXISTS `inter_equipo_manteniment`;
57DROP TABLE IF EXISTS `manteniment`;
58 /*!40101 SET @saved_cs_client = @@character_set_client */;
59 /*!40101 SET character_set_client = utf8 */;
60 CREATE TABLE `manteniment` (
61 `id` bigint(255) NOT NULL AUTO_INCREMENT,
62 `codi_contracte` varchar(255) COLLATE utf8_spanish_ci NOT NULL,
63 `propietari` varchar(255) COLLATE utf8_spanish_ci DEFAULT NULL,
64 PRIMARY KEY (`id`),
65 UNIQUE KEY `codi_contracte` (`codi_contracte`)
66 ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
67
68 /*!40101 SET @saved_cs_client = @@character_set_client */;
69 /*!40101 SET character_set_client = utf8 */;
70 CREATE TABLE `inter_equipo_manteniment` (
71 `id` bigint(255) NOT NULL AUTO_INCREMENT,
72 `id_equipo` bigint(255) NOT NULL,
73 `id_manteniment` bigint(255) NOT NULL,
74 `data_inici` timestamp NULL DEFAULT NULL,
75 `data_fi` timestamp NULL DEFAULT NULL,
76 `id_sla` bigint(255) DEFAULT NULL,
77 `id_usuari` bigint(255) DEFAULT NULL,
78 `observacions` longtext COLLATE utf8_spanish_ci,
79 `data` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
80 PRIMARY KEY (`id`),
81 UNIQUE KEY `uc_equipo_manteniment` (`id_equipo`,`id_manteniment`),
82 KEY `FK_inter_equipo_manteniment_manteniment` (`id_manteniment`),
83 KEY `FK_inter_equipo_manteniment_equipo` (`id_equipo`),
84 KEY `FK_inter_equipo_manteniment_usuari` (`id_usuari`),
85 KEY `FK_inter_equipo_manteniment_sla` (`id_sla`),
86 CONSTRAINT `FK_inter_equipo_manteniment_equipo` FOREIGN KEY (`id_equipo`) REFERENCES `equipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
87 CONSTRAINT `FK_inter_equipo_manteniment_manteniment` FOREIGN KEY (`id_manteniment`) REFERENCES `manteniment` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
88 CONSTRAINT `FK_inter_equipo_manteniment_sla` FOREIGN KEY (`id_sla`) REFERENCES `sla` (`id`) ON UPDATE CASCADE,
89 CONSTRAINT `FK_inter_equipo_manteniment_usuari` FOREIGN KEY (`id_usuari`) REFERENCES `usuari` (`id`) ON UPDATE CASCADE
90 ) ENGINE=InnoDB AUTO_INCREMENT=2062 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
91
92
93ALTER TABLE `master_seus`
94 CHANGE COLUMN `cpd` `cpd` TINYINT(1) NOT NULL DEFAULT '0' AFTER `data_alta`,
95 CHANGE COLUMN `MAGATZEM` `magatzem` TINYINT(1) NOT NULL DEFAULT '0' AFTER `cpd`;
96
97ALTER TABLE `projecte`
98 DROP FOREIGN KEY `FK2_projecte_usuari`;
99ALTER TABLE `projecte`
100 ALTER `administrador` DROP DEFAULT;
101ALTER TABLE `projecte`
102 CHANGE COLUMN `administrador` `tecnic_referencia` BIGINT(255) NOT NULL AFTER `project_manager`,
103 ADD COLUMN `arquitecte_referencia` BIGINT(255) NOT NULL AFTER `tecnic_referencia`,
104 ADD CONSTRAINT `FK2_projecte_usuari` FOREIGN KEY (`tecnic_referencia`) REFERENCES `usuari` (`id`) ON UPDATE CASCADE,
105 ADD CONSTRAINT `FK3_projecte_usuari` FOREIGN KEY (`arquitecte_referencia`) REFERENCES `usuari` (`id`) ON UPDATE CASCADE;
106
107
108ALTER TABLE `ru`
109 CHANGE COLUMN `id_equipo` `id_equipo` BIGINT(255) NULL AFTER `id_rack`,
110 ADD COLUMN `id_equipo_futuro` BIGINT(255) NULL AFTER `id_equipo`,
111 ADD COLUMN `id_estat` BIGINT(255) NULL AFTER `num`,
112 ADD CONSTRAINT `FK2_ru_equipo` FOREIGN KEY (`id_equipo_futuro`) REFERENCES `equipo` (`id`) ON UPDATE CASCADE ON DELETE SET NULL,
113 ADD CONSTRAINT `FK_ru_estat` FOREIGN KEY (`id_estat`) REFERENCES `estat` (`id`) ON UPDATE CASCADE;
114
115UPDATE ru
116 INNER JOIN equipo e ON e.id = ru.id_equipo
117 SET ru.id_estat = (SELECT id FROM estat WHERE nom = 'OCUPAT')
118 WHERE e.id_estat = (SELECT id FROM estat WHERE nom = 'ACTIU');
119
120UPDATE ru
121 INNER JOIN equipo e ON e.id = ru.id_equipo
122 SET ru.id_estat = (SELECT id FROM estat WHERE nom = 'DISPONIBLE')
123 WHERE e.id_estat = (SELECT id FROM estat WHERE nom = 'SPARE');
124
125DROP PROCEDURE IF EXISTS cursor_IDENTIFICADOR;
126DELIMITER ;;
127
128CREATE PROCEDURE cursor_IDENTIFICADOR()
129BEGIN
130 DECLARE id BIGINT(255);
131 DECLARE hostname VARCHAR(255);
132 DECLARE identificador VARCHAR(255);
133 DECLARE done INT DEFAULT FALSE;
134 DECLARE cursor_i CURSOR FOR SELECT e.id
135 FROM equipo e
136 WHERE e.hostname NOT IN ( SELECT DISTINCT e.hostname
137 FROM equipo e
138 INNER JOIN equipo eq ON eq.parent=e.id
139 INNER JOIN monitoritzacio m ON m.id=e.id_monitoritzacio
140 WHERE e.fisic=0 AND m.nom NOT IN ('NO MONITORITZABLE')
141 )
142 AND e.identificador IS NULL AND (e.hostname NOT LIKE '%SCNG%' OR e.identificador IS NULL);
143 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
144 OPEN cursor_i;
145 SET @i='14005';
146 read_loop: LOOP
147 FETCH cursor_i INTO id;
148 IF done THEN
149 LEAVE read_loop;
150 END IF;
151 UPDATE equipo e SET e.identificador=CONCAT('E5',@i) WHERE e.id=id;
152 SET @i= @i + 1;
153 END LOOP;
154 CLOSE cursor_i;
155END;
156;;
157
158CALL cursor_IDENTIFICADOR();