3 /* Drop existing foreign key */
4 ALTER TABLE `catalogdb`.`configuration_customization`
5 DROP FOREIGN KEY IF EXISTS `fk_configuration_customization__configuration_customization1`;
7 ALTER TABLE `catalogdb`.`configuration_customization`
8 DROP FOREIGN KEY IF EXISTS `fk_configuration_resource_customization__configuration_resour1`;
9 /* Drop existing index */
10 ALTER TABLE `catalogdb`.`configuration_customization`
11 DROP INDEX IF EXISTS `fk_configuration_customization__configuration_customization_idx` ;
13 /* Create a new table */
14 CREATE TABLE `tmp_configuration_customization` (
15 `ID` INT(11) NOT NULL AUTO_INCREMENT,
16 `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
17 `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
18 `CONFIGURATION_TYPE` VARCHAR(200) DEFAULT NULL,
19 `CONFIGURATION_ROLE` VARCHAR(200) DEFAULT NULL,
20 `CONFIGURATION_FUNCTION` VARCHAR(200) DEFAULT NULL,
21 `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
22 `CONFIGURATION_MODEL_UUID` VARCHAR(200) NOT NULL,
23 `SERVICE_PROXY_CUSTOMIZATION_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) DEFAULT NULL,
24 `CONFIGURATION_CUSTOMIZATION_MODEL_CUSTOMIZATION_ID` int(11) DEFAULT NULL,
25 `SERVICE_MODEL_UUID` VARCHAR(200) NOT NULL,
27 KEY `fk_configuration_customization__configuration_idx` (`CONFIGURATION_MODEL_UUID`),
28 KEY `fk_configuration_customization__service_idx` (`SERVICE_MODEL_UUID`),
29 UNIQUE KEY `uk_configuration_customization` (`MODEL_CUSTOMIZATION_UUID` ASC, `SERVICE_MODEL_UUID` ASC),
30 CONSTRAINT `fk_configuration_customization__configuration1` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
31 REFERENCES `configuration` (`MODEL_UUID`)
32 ON DELETE CASCADE ON UPDATE CASCADE,
33 CONSTRAINT `fk_configuration_customization__service1` FOREIGN KEY (`SERVICE_MODEL_UUID`)
34 REFERENCES `service` (`MODEL_UUID`)
35 ON DELETE CASCADE ON UPDATE CASCADE
37 ) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
39 /* Migrate the existing data */
40 INSERT INTO tmp_configuration_customization
41 (`model_customization_uuid` ,
42 `model_instance_name`,
43 `configuration_type` ,
44 `configuration_role` ,
45 `configuration_function` ,
46 `creation_timestamp` ,
47 `configuration_model_uuid` ,
48 `service_proxy_customization_model_customization_uuid` ,
50 SELECT `config`.`model_customization_uuid`,
51 `config`.`model_instance_name`,
52 `config`.`configuration_type`,
53 `config`.`configuration_role`,
54 `config`.`configuration_function`,
55 `config`.`creation_timestamp`,
56 `config`.`configuration_model_uuid`,
57 `config`.`service_proxy_customization_model_customization_uuid`,
58 `svc`.`model_uuid` service_model_uuid FROM
59 configuration_customization config,
61 configuration_customization_to_service config_svc
63 config_svc.service_model_uuid = svc.model_uuid
64 AND config_svc.resource_model_customization_uuid = config.model_customization_uuid;
66 /* Drop the old tables */
68 DROP TABLE `catalogdb`.`configuration_customization`;
70 DROP TABLE `catalogdb`.`configuration_customization_to_service`;
72 /* Rename the table */
73 RENAME TABLE tmp_configuration_customization TO configuration_customization;