8bb0214f6ecaa15207bc592bdbbb2eb878cf6993
[oom.git] / kubernetes / clamp / charts / mariadb / resources / config / mariadb / docker-entrypoint-initdb.d / bulkload / clds-create-db-objects.sql
1 /* Copyright © 2017 AT&T, Amdocs, Bell Canada
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *       http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #
17 # Create CLDS database objects (tables, etc.)
18 #
19 #
20 CREATE DATABASE `cldsdb4`;
21 USE `cldsdb4`;
22 DROP USER 'clds';
23 CREATE USER 'clds';
24 GRANT ALL on cldsdb4.* to 'clds' identified by 'sidnnd83K' with GRANT OPTION;
25 GRANT SELECT on mysql.proc TO 'clds';
26 FLUSH PRIVILEGES;
27
28
29 CREATE TABLE template (
30   template_id VARCHAR(36) NOT NULL,
31   template_name VARCHAR(80) NOT NULL,
32   template_bpmn_id VARCHAR(36) NULL,
33   template_image_id VARCHAR(36) NULL,
34   template_doc_id VARCHAR(36) NULL,
35   PRIMARY KEY (template_id),
36   UNIQUE (template_name)
37 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
38
39 CREATE TABLE template_bpmn (
40   template_bpmn_id VARCHAR(36) NOT NULL,
41   template_id VARCHAR(36) NOT NULL,
42   template_bpmn_text MEDIUMTEXT NOT NULL,
43   user_id VARCHAR(80),
44   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
45   PRIMARY KEY (template_bpmn_id)
46 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
47
48 CREATE TABLE template_image (
49   template_image_id VARCHAR(36) NOT NULL,
50   template_id VARCHAR(36) NOT NULL,
51   template_image_text MEDIUMTEXT NULL,
52   user_id VARCHAR(80),
53   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
54   PRIMARY KEY (template_image_id)
55 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
56
57 CREATE TABLE template_doc (
58   template_doc_id VARCHAR(36) NOT NULL,
59   template_id VARCHAR(36) NOT NULL,
60   template_doc_text MEDIUMTEXT NULL,
61   user_id VARCHAR(80),
62   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
63   PRIMARY KEY (template_doc_id)
64 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
65
66 CREATE TABLE model (
67   model_id VARCHAR(36) NOT NULL,
68   model_name VARCHAR(80) NOT NULL,
69   template_id VARCHAR(36) NULL,
70   model_prop_id VARCHAR(36) NULL,
71   model_blueprint_id VARCHAR(36) NULL,
72   event_id VARCHAR(36) NULL,
73   control_name_prefix VARCHAR(80) NULL,
74   control_name_uuid VARCHAR(36) NOT NULL,
75   service_type_id VARCHAR(80) NULL,
76   deployment_id VARCHAR(80) NULL,
77   PRIMARY KEY (model_id),
78   UNIQUE (model_name),
79   UNIQUE (control_name_uuid),
80   UNIQUE (service_type_id),
81   UNIQUE (deployment_id)
82 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
83
84 CREATE TABLE model_properties (
85   model_prop_id VARCHAR(36) NOT NULL,
86   model_id VARCHAR(36) NOT NULL,
87   model_prop_text MEDIUMTEXT NULL,
88   user_id VARCHAR(80),
89   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
90   PRIMARY KEY (model_prop_id)
91 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
92
93 CREATE TABLE model_blueprint (
94   model_blueprint_id VARCHAR(36) NOT NULL,
95   model_id VARCHAR(36) NOT NULL,
96   model_blueprint_text MEDIUMTEXT NULL,
97   user_id VARCHAR(80),
98   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
99   PRIMARY KEY (model_blueprint_id)
100 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
101
102 CREATE TABLE model_instance (
103   model_instance_id VARCHAR(36) NOT NULL,
104   model_id VARCHAR(36) NOT NULL,
105   vm_name VARCHAR(250) NOT NULL,
106   location VARCHAR(250) NULL,
107   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
108   PRIMARY KEY (model_instance_id),
109   UNIQUE (model_id, vm_name)
110 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
111
112 CREATE TABLE event (
113   event_id VARCHAR(36) NOT NULL,
114   model_id VARCHAR(36) NULL,
115   action_cd VARCHAR(80) NOT NULL,
116   action_state_cd VARCHAR(80) NULL,
117   prev_event_id VARCHAR(36) NULL,
118   process_instance_id VARCHAR(80) NULL,
119   user_id VARCHAR(80) NULL,
120   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
121   PRIMARY KEY (event_id)
122 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
123
124 CREATE TABLE clds_service_cache (
125   invariant_service_id VARCHAR(36) NOT NULL,
126   service_id VARCHAR(36) NULL,
127   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
128   object_data MEDIUMBLOB NULL,
129   PRIMARY KEY (invariant_service_id)
130 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
131
132 CREATE TABLE IF NOT EXISTS tosca_model (
133   tosca_model_id VARCHAR(36) NOT NULL,
134   tosca_model_name VARCHAR(80) NOT NULL,
135   policy_type VARCHAR(80) NULL,
136   user_id VARCHAR(80),
137   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
138   PRIMARY KEY (tosca_model_id)
139 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
140
141 CREATE TABLE IF NOT EXISTS tosca_model_revision (
142   tosca_model_revision_id VARCHAR(36) NOT NULL,
143   tosca_model_id VARCHAR(36) NOT NULL,
144   version DOUBLE NOT NULL DEFAULT 1,
145   tosca_model_yaml MEDIUMTEXT NULL,
146   tosca_model_json MEDIUMTEXT NULL,
147   user_id VARCHAR(80),
148   createdTimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
149   lastUpdatedTimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
150   PRIMARY KEY (tosca_model_revision_id),
151   CONSTRAINT tosca_model_revision_ukey UNIQUE KEY (tosca_model_id, version),
152   CONSTRAINT tosca_model_revision_fkey01 FOREIGN KEY (tosca_model_id) REFERENCES tosca_model (tosca_model_id)
153 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
154
155 CREATE TABLE IF NOT EXISTS dictionary (
156   dictionary_id VARCHAR(36) NOT NULL,
157   dictionary_name VARCHAR(80) NOT NULL,
158   created_by VARCHAR(80),
159   modified_by VARCHAR(80),
160   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
161   PRIMARY KEY (dictionary_id)
162 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
163
164 CREATE TABLE IF NOT EXISTS dictionary_elements (
165   dict_element_id VARCHAR(36) NOT NULL,
166   dictionary_id VARCHAR(36) NOT NULL,
167   dict_element_name VARCHAR(250) NOT NULL,
168   dict_element_short_name VARCHAR(80) NOT NULL,
169   dict_element_description VARCHAR(250),
170   dict_element_type VARCHAR(80) NOT NULL,
171   created_by VARCHAR(80),
172   modified_by VARCHAR(80),
173   timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
174   PRIMARY KEY (dict_element_id),
175   CONSTRAINT dictionary_elements_ukey UNIQUE KEY (dict_element_name, dict_element_short_name),
176   CONSTRAINT dictionary_elements_ukey_fkey01 FOREIGN KEY (dictionary_id) REFERENCES dictionary (dictionary_id)
177 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
178
179 ALTER TABLE template
180     ADD CONSTRAINT template_bpmn_id_fkey01
181     FOREIGN KEY (template_bpmn_id)
182     REFERENCES template_bpmn (template_bpmn_id);
183
184 ALTER TABLE template
185     ADD CONSTRAINT template_image_id_fkey01
186     FOREIGN KEY (template_image_id)
187     REFERENCES template_image (template_image_id);
188
189 ALTER TABLE template
190     ADD CONSTRAINT template_doc_id_fkey01
191     FOREIGN KEY (template_doc_id)
192     REFERENCES template_doc (template_doc_id);
193
194 ALTER TABLE template_bpmn
195     ADD CONSTRAINT template_id_fkey02
196     FOREIGN KEY (template_id)
197     REFERENCES template (template_id);
198
199 ALTER TABLE template_image
200     ADD CONSTRAINT template_id_fkey03
201     FOREIGN KEY (template_id)
202     REFERENCES template (template_id);
203
204 ALTER TABLE template_doc
205     ADD CONSTRAINT template_id_fkey04
206     FOREIGN KEY (template_id)
207     REFERENCES template (template_id);
208
209 ALTER TABLE model
210     ADD CONSTRAINT template_id_fkey01
211     FOREIGN KEY (template_id)
212     REFERENCES template (template_id);
213
214 ALTER TABLE model
215     ADD CONSTRAINT model_prop_id_fkey01
216     FOREIGN KEY (model_prop_id)
217     REFERENCES model_properties (model_prop_id);
218
219 ALTER TABLE model
220     ADD CONSTRAINT model_blueprint_id_fkey01
221     FOREIGN KEY (model_blueprint_id)
222     REFERENCES model_blueprint (model_blueprint_id);
223
224 ALTER TABLE model
225     ADD CONSTRAINT event_id_fkey01
226     FOREIGN KEY (event_id)
227     REFERENCES event (event_id);
228
229 ALTER TABLE model_properties
230     ADD CONSTRAINT model_id_fkey01
231     FOREIGN KEY (model_id)
232     REFERENCES model (model_id);
233
234 ALTER TABLE model_blueprint
235     ADD CONSTRAINT model_id_fkey02
236     FOREIGN KEY (model_id)
237     REFERENCES model (model_id);
238
239 ALTER TABLE model_instance
240     ADD CONSTRAINT model_id_fkey04
241     FOREIGN KEY (model_id)
242     REFERENCES model (model_id);
243
244 ALTER TABLE event
245     ADD CONSTRAINT model_id_fkey03
246     FOREIGN KEY (model_id)
247     REFERENCES model (model_id);