Refactor resource dictionary entity and repositories.
[ccsdk/cds.git] / ms / blueprintsprocessor / application / src / main / resources / sql / schema-local.sql
1 -- drop table sdnctl.MODEL_TYPE;
2 -- drop table sdnctl.RESOURCE_DICTIONARY;
3 -- drop table sdnctl.CONFIG_MODEL_CONTENT;
4 -- drop table sdnctl.CONFIG_MODEL;
5
6 -- -----------------------------------------------------
7 -- table CONFIG_MODEL
8 -- -----------------------------------------------------
9 CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_MODEL (
10   config_model_id               INT(11) NOT NULL AUTO_INCREMENT,
11   service_uuid                  VARCHAR(50) NULL DEFAULT NULL,
12   distribution_id               VARCHAR(50) NULL DEFAULT NULL,
13   service_name                  VARCHAR(255) NULL DEFAULT NULL,
14   service_description           VARCHAR(255) NULL DEFAULT NULL,
15   resource_uuid                 VARCHAR(255) NULL DEFAULT NULL,
16   resource_instance_name        VARCHAR(255) NULL DEFAULT NULL,
17   resource_name                 varchar(255) null default null,
18   resource_version              varchar(50) null default null,
19   resource_type                 varchar(50) null default null,
20   artifact_uuid                 varchar(50) null default null,
21   artifact_type                 varchar(50) not null,
22   artifact_version              varchar(25) not null,
23   artifact_description          longtext null default null,
24   internal_version              int(11) null default null,
25   creation_date                 datetime not null default current_timestamp,
26   artifact_name                 varchar(100) not null,
27   published                     varchar(1) not null,
28   updated_by                    varchar(100) not null,
29   tags                          longtext null default null,
30   primary key PK_CONFIG_MODEL (config_model_id),
31   UNIQUE KEY UK_CONFIG_MODEL (artifact_name , artifact_version)
32 ) ENGINE=InnoDB;
33
34
35 -- -----------------------------------------------------
36 -- table CONFIG_MODEL_CONTENT
37 -- -----------------------------------------------------
38 CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_MODEL_CONTENT (
39   config_model_content_id       INT(11) NOT NULL AUTO_INCREMENT, 
40   config_model_id               INT NOT NULL,
41   name                          VARCHAR(100) NOT NULL,
42   content_type                  VARCHAR(50) NOT NULL,
43   description                   LONGTEXT NULL DEFAULT NULL,
44   updated_date                  DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
45   content                       LONGTEXT NULL DEFAULT NULL,
46   PRIMARY KEY PK_CONFIG_MODEL_CONTENT (config_model_content_id),
47   UNIQUE KEY UK_CONFIG_MODEL_CONTENT (config_model_id, name, content_type),
48   FOREIGN KEY FK_CONFIG_MODEL_CONTENT (config_model_id) REFERENCES sdnctl.CONFIG_MODEL(config_model_id) ON DELETE CASCADE
49 ) ENGINE=InnoDB;
50
51 -- -----------------------------------------------------
52 -- table MODEL_TYPE
53 -- -----------------------------------------------------
54 CREATE TABLE IF NOT EXISTS sdnctl.MODEL_TYPE (
55   model_name            VARCHAR(100) NOT NULL,
56   derived_from          VARCHAR(100) NOT NULL,
57   definition_type       VARCHAR(100) NOT NULL,
58   definition            LONGTEXT NOT NULL,
59   version               VARCHAR(10) NOT NULL,
60   description           LONGTEXT NOT NULL,
61   tags                  LONGTEXT NULL DEFAULT NULL,  
62   creation_date         DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
63   updated_by            VARCHAR(100) NOT NULL,
64   PRIMARY KEY PK_MODEL_TYPE (model_name),
65   INDEX IX_MODEL_TYPE (model_name)
66 ) ENGINE=InnoDB;
67
68
69 -- -----------------------------------------------------
70 -- table RESOURCE_DICTIONARY
71 -- -----------------------------------------------------
72 CREATE TABLE IF NOT EXISTS sdnctl.RESOURCE_DICTIONARY (
73   name                  VARCHAR(100) NOT NULL,
74   data_type             VARCHAR(100) NOT NULL,
75   entry_schema          VARCHAR(100) NULL DEFAULT NULL,
76   definition            LONGTEXT NOT NULL,
77   description           LONGTEXT NOT NULL,
78   tags                  LONGTEXT NOT NULL,  
79   creation_date         DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
80   updated_by            VARCHAR(100) NOT NULL,
81   primary key PK_RESOURCE_DICTIONARY (name),
82   INDEX IX_RESOURCE_DICTIONARY (name)
83 ) ENGINE=InnoDB;