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