Merge "Implementing scope and action values from SO-DB to SO-Backend"
[so.git] / adapters / mso-catalog-db-adapter / src / main / resources / db / migration / V5.7.1__WorkFlowDesignerTables.sql
1 USE catalogdb;
2
3 CREATE TABLE IF NOT EXISTS `catalogdb`.`workflow` (
4   `ID` INT(11) NOT NULL AUTO_INCREMENT,
5   `ARTIFACT_UUID` VARCHAR(200) NOT NULL,
6   `ARTIFACT_NAME` VARCHAR(200) NOT NULL,
7   `NAME` VARCHAR(200) NOT NULL,
8   `OPERATION_NAME` VARCHAR(200) NULL,
9   `VERSION` DOUBLE NOT NULL,
10   `DESCRIPTION` VARCHAR(1200) NULL,
11   `BODY` LONGTEXT NULL,
12   `RESOURCE_TARGET` VARCHAR(200) NOT NULL,
13   `SOURCE` VARCHAR(200) NOT NULL,
14   `TIMEOUT_MINUTES` INT(11) NULL DEFAULT NULL,
15   `ARTIFACT_CHECKSUM` VARCHAR(200) NULL DEFAULT 'MANUAL RECORD',
16   `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
17   PRIMARY KEY (`ID`),
18   UNIQUE INDEX `UK_workflow` (`ARTIFACT_UUID` ASC, `NAME` ASC, `VERSION` ASC, `SOURCE` ASC))
19 ENGINE = InnoDB
20 DEFAULT CHARACTER SET = latin1;
21
22 CREATE TABLE IF NOT EXISTS `catalogdb`.`vnf_resource_to_workflow` (
23   `ID` INT(11) NOT NULL AUTO_INCREMENT,
24   `VNF_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL,
25   `WORKFLOW_ID` INT(11) NOT NULL,
26   PRIMARY KEY (`ID`),
27   UNIQUE INDEX `UK_vnf_resource_to_workflow` (`VNF_RESOURCE_MODEL_UUID` ASC, `WORKFLOW_ID` ASC),
28   INDEX `fk_vnf_resource_to_workflow__workflow1_idx` (`WORKFLOW_ID` ASC),
29   INDEX `fk_vnf_resource_to_workflow__vnf_res_mod_uuid_idx` (`VNF_RESOURCE_MODEL_UUID` ASC),
30   CONSTRAINT `fk_vnf_resource_to_workflow__vnf_resource1`
31     FOREIGN KEY (`VNF_RESOURCE_MODEL_UUID`)
32     REFERENCES `catalogdb`.`vnf_resource` (`MODEL_UUID`)
33     ON DELETE CASCADE
34     ON UPDATE CASCADE,
35   CONSTRAINT `fk_vnf_resource_to_workflow__workflow1`
36     FOREIGN KEY (`WORKFLOW_ID`)
37     REFERENCES `catalogdb`.`workflow` (`ID`)
38     ON DELETE CASCADE
39     ON UPDATE CASCADE)
40 ENGINE = InnoDB
41 DEFAULT CHARACTER SET = latin1;
42
43 CREATE TABLE IF NOT EXISTS `catalogdb`.`pnf_resource_to_workflow` (
44   `ID` INT(11) NOT NULL AUTO_INCREMENT,
45   `PNF_RESOURCE_MODEL_UUID` VARCHAR(200) NOT NULL,
46   `WORKFLOW_ID` INT(11) NOT NULL,
47   PRIMARY KEY (`ID`),
48   UNIQUE INDEX `UK_pnf_resource_to_workflow` (`PNF_RESOURCE_MODEL_UUID` ASC, `WORKFLOW_ID` ASC),
49   INDEX `fk_pnf_resource_to_workflow__workflow1_idx` (`WORKFLOW_ID` ASC),
50   INDEX `fk_pnf_resource_to_workflow__pnf_res_mod_uuid_idx` (`PNF_RESOURCE_MODEL_UUID` ASC),
51   CONSTRAINT `fk_pnf_resource_to_workflow__pnf_resource1`
52     FOREIGN KEY (`PNF_RESOURCE_MODEL_UUID`)
53     REFERENCES `catalogdb`.`pnf_resource` (`MODEL_UUID`)
54     ON DELETE CASCADE
55     ON UPDATE CASCADE,
56   CONSTRAINT `fk_pnf_resource_to_workflow__workflow1`
57     FOREIGN KEY (`WORKFLOW_ID`)
58     REFERENCES `catalogdb`.`workflow` (`ID`)
59     ON DELETE CASCADE
60     ON UPDATE CASCADE)
61 ENGINE = InnoDB
62 DEFAULT CHARACTER SET = latin1;
63
64 CREATE TABLE IF NOT EXISTS `catalogdb`.`activity_spec` (
65   `ID` INT(11) NOT NULL AUTO_INCREMENT,
66   `NAME` VARCHAR(200) NOT NULL,
67   `DESCRIPTION` VARCHAR(1200) NOT NULL,
68   `VERSION` DOUBLE NOT NULL,
69   `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
70   PRIMARY KEY (`ID`),
71   UNIQUE INDEX `UK_activity_spec` (`NAME` ASC, `VERSION` ASC))
72 ENGINE = InnoDB
73 DEFAULT CHARACTER SET = latin1;
74
75 CREATE TABLE IF NOT EXISTS `catalogdb`.`user_parameters` (
76   `ID` INT(11) NOT NULL AUTO_INCREMENT,
77   `NAME` VARCHAR(200) NOT NULL,
78   `PAYLOAD_LOCATION` VARCHAR(500) NULL,
79   `LABEL` VARCHAR(200) NOT NULL,
80   `TYPE` VARCHAR(200) NOT NULL,
81   `DESCRIPTION` VARCHAR(1200) NULL,
82   `IS_REQUIRED` TINYINT(1) NOT NULL,
83   `MAX_LENGTH` INT(11) NULL,
84   `ALLOWABLE_CHARS` VARCHAR(200) NULL,
85   `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
86   PRIMARY KEY (`ID`),
87   UNIQUE INDEX `UK_user_parameters` (`NAME` ASC))
88 ENGINE = InnoDB
89 DEFAULT CHARACTER SET = latin1;
90
91 CREATE TABLE IF NOT EXISTS `catalogdb`.`workflow_activity_spec_sequence` (
92   `ID` INT(11) NOT NULL AUTO_INCREMENT,
93   `WORKFLOW_ID` INT(11) NOT NULL,
94   `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
95   `SEQ_NO` INT(11) NOT NULL,
96   PRIMARY KEY (`ID`),
97   UNIQUE INDEX `UK_workflow_activity_spec_sequence` (`WORKFLOW_ID` ASC, `ACTIVITY_SPEC_ID` ASC, `SEQ_NO` ASC),
98   INDEX `fk_workflow_activity_spec_sequence__activity_spec_idx` (`ACTIVITY_SPEC_ID` ASC),
99   INDEX `fk_workflow_activity_spec_sequence__workflow_actifact_uuid_idx` (`WORKFLOW_ID` ASC),
100   CONSTRAINT `fk_workflow_activity_spec_sequence__activity_spec1`
101     FOREIGN KEY (`ACTIVITY_SPEC_ID`)
102     REFERENCES `catalogdb`.`activity_spec` (`ID`)
103     ON DELETE CASCADE
104     ON UPDATE CASCADE,
105   CONSTRAINT `fk_workflow_activity_spec_sequence__workflow1`
106     FOREIGN KEY (`WORKFLOW_ID`)
107     REFERENCES `catalogdb`.`workflow` (`ID`)
108     ON DELETE CASCADE
109     ON UPDATE CASCADE)
110 ENGINE = InnoDB
111 DEFAULT CHARACTER SET = latin1;
112
113 CREATE TABLE IF NOT EXISTS `catalogdb`.`activity_spec_parameters` (
114   `ID` INT(11) NOT NULL AUTO_INCREMENT,
115   `NAME` VARCHAR(200) NOT NULL,
116   `TYPE` VARCHAR(200) NOT NULL,
117   `DIRECTION` VARCHAR(200) NULL,
118   `DESCRIPTION` VARCHAR(1200) NULL,
119   `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
120   PRIMARY KEY (`ID`),
121   UNIQUE INDEX `UK_activity_spec_parameters` (`NAME` ASC, `DIRECTION` ASC))
122 ENGINE = InnoDB
123 DEFAULT CHARACTER SET = latin1;
124
125 CREATE TABLE IF NOT EXISTS `catalogdb`.`activity_spec_categories` (
126   `ID` INT(11) NOT NULL,
127   `NAME` VARCHAR(200) NOT NULL,
128   PRIMARY KEY (`ID`),
129   UNIQUE INDEX `UK_activity_spec_categories` (`NAME` ASC))
130 ENGINE = InnoDB
131 DEFAULT CHARACTER SET = latin1;
132
133 CREATE TABLE IF NOT EXISTS `catalogdb`.`activity_spec_to_activity_spec_categories` (
134   `ID` INT(11) NOT NULL,
135   `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
136   `ACTIVITY_SPEC_CATEGORIES_ID` INT(11) NOT NULL,
137   PRIMARY KEY (`ID`),
138   UNIQUE INDEX `UK_activity_spec_to_activity_spec_categories` (`ACTIVITY_SPEC_ID` ASC, `ACTIVITY_SPEC_CATEGORIES_ID` ASC),
139   INDEX `fk_activity_spec_to_activity_spec_categories__activity_spec_idx` (`ACTIVITY_SPEC_CATEGORIES_ID` ASC),
140   INDEX `fk_activity_spec_to_activity_spec_categories__activity_spec_idx1` (`ACTIVITY_SPEC_ID` ASC),
141   CONSTRAINT `fk_activity_spec_to_activity_spec_categories__activity_spec1`
142     FOREIGN KEY (`ACTIVITY_SPEC_ID`)
143     REFERENCES `catalogdb`.`activity_spec` (`ID`)
144     ON DELETE CASCADE
145     ON UPDATE CASCADE,
146   CONSTRAINT `fk_activity_spec_to_activity_spec_categories__activity_spec_c1`
147     FOREIGN KEY (`ACTIVITY_SPEC_CATEGORIES_ID`)
148     REFERENCES `catalogdb`.`activity_spec_categories` (`ID`)
149     ON DELETE CASCADE
150     ON UPDATE CASCADE)
151 ENGINE = InnoDB
152 DEFAULT CHARACTER SET = latin1;
153
154 CREATE TABLE IF NOT EXISTS `catalogdb`.`activity_spec_to_activity_spec_parameters` (
155   `ID` INT(11) NOT NULL AUTO_INCREMENT,
156   `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
157   `ACTIVITY_SPEC_PARAMETERS_ID` INT(11) NOT NULL,
158   PRIMARY KEY (`ID`),
159   INDEX `fk_activity_spec_to_activity_spec_params__act_sp_param_id_idx` (`ACTIVITY_SPEC_PARAMETERS_ID` ASC),
160   UNIQUE INDEX `UK_activity_spec_to_activity_spec_parameters` (`ACTIVITY_SPEC_ID` ASC, `ACTIVITY_SPEC_PARAMETERS_ID` ASC),
161   INDEX `fk_activity_spec_to_activity_spec_parameters__act_spec_id_idx` (`ACTIVITY_SPEC_ID` ASC),
162   CONSTRAINT `fk_activity_spec_to_activity_spec_parameters__activity_spec_1`
163     FOREIGN KEY (`ACTIVITY_SPEC_ID`)
164     REFERENCES `catalogdb`.`activity_spec` (`ID`)
165     ON DELETE CASCADE
166     ON UPDATE CASCADE,
167   CONSTRAINT `fk_activity_spec_to_activity_spec_parameters__activ_spec_param1`
168     FOREIGN KEY (`ACTIVITY_SPEC_PARAMETERS_ID`)
169     REFERENCES `catalogdb`.`activity_spec_parameters` (`ID`)
170     ON DELETE CASCADE
171     ON UPDATE CASCADE)
172 ENGINE = InnoDB
173 DEFAULT CHARACTER SET = latin1;
174
175 CREATE TABLE IF NOT EXISTS `catalogdb`.`activity_spec_to_user_parameters` (
176   `ID` INT(11) NOT NULL,
177   `ACTIVITY_SPEC_ID` INT(11) NOT NULL,
178   `USER_PARAMETERS_ID` INT(11) NOT NULL,
179   PRIMARY KEY (`ID`),
180   UNIQUE INDEX `UK_activity_spec_to_user_parameters` (`ACTIVITY_SPEC_ID` ASC, `USER_PARAMETERS_ID` ASC),
181   INDEX `fk_activity_spec_to_user_parameters__user_parameters1_idx` (`USER_PARAMETERS_ID` ASC),
182   INDEX `fk_activity_spec_to_user_parameters__activity_spec1_idx` (`ACTIVITY_SPEC_ID` ASC),
183   CONSTRAINT `fk_activity_spec_to_user_parameters__activity_spec1`
184     FOREIGN KEY (`ACTIVITY_SPEC_ID`)
185     REFERENCES `catalogdb`.`activity_spec` (`ID`)
186     ON DELETE CASCADE
187     ON UPDATE CASCADE,
188   CONSTRAINT `fk_activity_spec_to_user_parameters__user_parameters1`
189     FOREIGN KEY (`USER_PARAMETERS_ID`)
190     REFERENCES `catalogdb`.`user_parameters` (`ID`)
191     ON DELETE CASCADE
192     ON UPDATE CASCADE)
193 ENGINE = InnoDB
194 DEFAULT CHARACTER SET = latin1;
195
196