6c71cc45fcbe2b98c0d5b60d4f7451eacf1b7410
[smo/teiv.git] /
1 --
2 -- ============LICENSE_START=======================================================
3 -- Copyright (C) 2024 Ericsson
4 -- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
5 -- ================================================================================
6 -- Licensed under the Apache License, Version 2.0 (the "License");
7 -- you may not use this file except in compliance with the License.
8 -- You may obtain a copy of the License at
9 --
10 --       http://www.apache.org/licenses/LICENSE-2.0
11 --
12 -- Unless required by applicable law or agreed to in writing, software
13 -- distributed under the License is distributed on an "AS IS" BASIS,
14 -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 -- See the License for the specific language governing permissions and
16 -- limitations under the License.
17 --
18 -- SPDX-License-Identifier: Apache-2.0
19 -- ============LICENSE_END=========================================================
20 --
21
22 BEGIN;
23
24 DROP SCHEMA IF EXISTS ties_model cascade;
25 CREATE SCHEMA IF NOT EXISTS ties_model;
26 ALTER SCHEMA ties_model OWNER TO :pguser;
27 SET default_tablespace = '';
28 SET default_table_access_method = heap;
29
30 SET ROLE :'pguser';
31
32 CREATE TABLE IF NOT EXISTS ties_model.execution_status (
33     "schema"                 VARCHAR(127) PRIMARY KEY,
34     "status"          VARCHAR(127)
35 );
36
37 CREATE TABLE IF NOT EXISTS ties_model.hash_info (
38     "name"                 VARCHAR(511) PRIMARY KEY,
39     "hashedValue"          VARCHAR(511),
40     "type"                 VARCHAR(511)
41 );
42
43 CREATE TABLE IF NOT EXISTS ties_model.module_reference (
44     "name"                   VARCHAR(511) PRIMARY KEY,
45     "namespace"              VARCHAR(511),
46     "domain"             VARCHAR(511),
47     "includedModules"        jsonb,
48     "revision"       VARCHAR(511),
49     "content"               TEXT,
50     "ownerAppId"       VARCHAR(511),
51     "status"       VARCHAR(127)
52 );
53
54 CREATE TABLE IF NOT EXISTS ties_model.entity_info (
55     "name"                   VARCHAR(511) PRIMARY KEY,
56     "moduleReferenceName"    VARCHAR(511),
57     FOREIGN KEY ("moduleReferenceName") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE
58 );
59
60 CREATE TABLE IF NOT EXISTS ties_model.relationship_info (
61     "name"      VARCHAR(511) PRIMARY KEY,
62     "aSideAssociationName"    TEXT,
63     "aSideMOType"             TEXT,
64     "aSideMinCardinality"     BIGINT,
65     "aSideMaxCardinality"     BIGINT,
66     "bSideAssociationName"    TEXT,
67     "bSideMOType"             TEXT,
68     "bSideMinCardinality"     BIGINT,
69     "bSideMaxCardinality"     BIGINT,
70     "associationKind"    TEXT,
71     "relationshipDataLocation"          TEXT,
72     "connectSameEntity"       BOOLEAN,
73     "moduleReferenceName"     TEXT,
74     FOREIGN KEY ("moduleReferenceName") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE
75 );
76
77 CREATE TABLE IF NOT EXISTS ties_model.decorators (
78     "name"                   VARCHAR(511) PRIMARY KEY,
79     "dataType"                   VARCHAR(511),
80     "moduleReferenceName"    VARCHAR(511),
81     FOREIGN KEY ("moduleReferenceName") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE
82 );
83
84 CREATE TABLE IF NOT EXISTS ties_model.classifiers (
85     "name"                   VARCHAR(511) PRIMARY KEY,
86     "moduleReferenceName"    VARCHAR(511),
87     FOREIGN KEY ("moduleReferenceName") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE
88 );
89
90 -- Update model schema exec status
91 INSERT INTO ties_model.execution_status("schema", "status") VALUES ('ties_model', 'success');
92
93 COPY ties_model.hash_info("name", "hashedValue", "type") FROM stdin;
94 \.
95
96 COPY ties_model.module_reference("name", "namespace", "domain", "includedModules", "revision", "content", "ownerAppId", "status") FROM stdin;
97 \.
98
99 COPY ties_model.entity_info("name", "moduleReferenceName") FROM stdin;
100 \.
101
102 COPY ties_model.relationship_info("name", "aSideAssociationName", "aSideMOType", "aSideMinCardinality", "aSideMaxCardinality", "bSideAssociationName", "bSideMOType", "bSideMinCardinality", "bSideMaxCardinality", "associationKind", "relationshipDataLocation", "connectSameEntity", "moduleReferenceName") FROM stdin;
103 ENODEBFUNCTION_PROVIDES_LTESECTORCARRIER        provided-lteSectorCarrier       ENodeBFunction  1       1       provided-by-enodebFunction      LTESectorCarrier        0       100     BI_DIRECTIONAL  B_SIDE  false   o-ran-smo-teiv-ran
104 LTESECTORCARRIER_USES_ANTENNACAPABILITY used-antennaCapability  LTESectorCarrier        0       1       used-by-lteSectorCarrier        AntennaCapability       0       1       BI_DIRECTIONAL  A_SIDE  false   o-ran-smo-teiv-ran
105 \.
106
107 ;
108
109 COMMIT;