| -- Licensed to the Apache Software Foundation (ASF) under one or more |
| -- contributor license agreements. See the NOTICE file distributed with |
| -- this work for additional information regarding copyright ownership. |
| -- The ASF licenses this file to You under the Apache License, Version 2.0 |
| -- (the "License"); you may not use this file except in compliance with |
| -- the License. You may obtain a copy of the License at |
| -- |
| -- http://www.apache.org/licenses/LICENSE-2.0 |
| -- |
| -- Unless required by applicable law or agreed to in writing, software |
| -- distributed under the License is distributed on an "AS IS" BASIS, |
| -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| -- See the License for the specific language governing permissions and |
| -- limitations under the License. |
| |
| CREATE TABLE EXTENSION_BUNDLE ( |
| ID VARCHAR(50) NOT NULL, |
| BUCKET_ID VARCHAR(50) NOT NULL, |
| BUNDLE_TYPE VARCHAR(200) NOT NULL, |
| GROUP_ID VARCHAR(500) NOT NULL, |
| ARTIFACT_ID VARCHAR(500) NOT NULL, |
| CONSTRAINT PK__EXTENSION_BUNDLE_ID PRIMARY KEY (ID), |
| CONSTRAINT FK__EXTENSION_BUNDLE_BUCKET_ITEM_ID FOREIGN KEY (ID) REFERENCES BUCKET_ITEM(ID) ON DELETE CASCADE, |
| CONSTRAINT FK__EXTENSION_BUNDLE_BUCKET_ID FOREIGN KEY(BUCKET_ID) REFERENCES BUCKET(ID) ON DELETE CASCADE, |
| CONSTRAINT UNIQUE__EXTENSION_BUNDLE_BUCKET_GROUP_ARTIFACT UNIQUE (BUCKET_ID, GROUP_ID, ARTIFACT_ID) |
| ); |
| |
| CREATE TABLE EXTENSION_BUNDLE_VERSION ( |
| ID VARCHAR(50) NOT NULL, |
| EXTENSION_BUNDLE_ID VARCHAR(50) NOT NULL, |
| VERSION VARCHAR(100) NOT NULL, |
| CREATED TIMESTAMP NOT NULL, |
| CREATED_BY VARCHAR(4096) NOT NULL, |
| DESCRIPTION TEXT, |
| SHA_256_HEX VARCHAR(512) NOT NULL, |
| SHA_256_SUPPLIED INT NOT NULL, |
| CONTENT_SIZE BIGINT NOT NULL, |
| CONSTRAINT PK__EXTENSION_BUNDLE_VERSION_ID PRIMARY KEY (ID), |
| CONSTRAINT FK__EXTENSION_BUNDLE_VERSION_EXTENSION_BUNDLE_ID FOREIGN KEY (EXTENSION_BUNDLE_ID) REFERENCES EXTENSION_BUNDLE(ID) ON DELETE CASCADE, |
| CONSTRAINT UNIQUE__EXTENSION_BUNDLE_VERSION_EXTENSION_BUNDLE_ID_VERSION UNIQUE (EXTENSION_BUNDLE_ID, VERSION) |
| ); |
| |
| CREATE TABLE EXTENSION_BUNDLE_VERSION_DEPENDENCY ( |
| ID VARCHAR(50) NOT NULL, |
| EXTENSION_BUNDLE_VERSION_ID VARCHAR(50) NOT NULL, |
| GROUP_ID VARCHAR(500) NOT NULL, |
| ARTIFACT_ID VARCHAR(500) NOT NULL, |
| VERSION VARCHAR(100) NOT NULL, |
| CONSTRAINT PK__EXTENSION_BUNDLE_VERSION_DEPENDENCY_ID PRIMARY KEY (ID), |
| CONSTRAINT FK__EXTENSION_BUNDLE_VERSION_DEPENDENCY_EXTENSION_BUNDLE_VERSION_ID FOREIGN KEY (EXTENSION_BUNDLE_VERSION_ID) REFERENCES EXTENSION_BUNDLE_VERSION(ID) ON DELETE CASCADE, |
| CONSTRAINT UNIQUE__EXTENSION_BUNDLE_VERSION_DEPENDENCY_BUNDLE_ID_GROUP_ARTIFACT_VERSION UNIQUE (EXTENSION_BUNDLE_VERSION_ID, GROUP_ID, ARTIFACT_ID, VERSION) |
| ); |
| |
| CREATE TABLE EXTENSION ( |
| ID VARCHAR(50) NOT NULL, |
| EXTENSION_BUNDLE_VERSION_ID VARCHAR(50) NOT NULL, |
| TYPE VARCHAR(500) NOT NULL, |
| TYPE_DESCRIPTION TEXT NOT NULL, |
| IS_RESTRICTED INT NOT NULL, |
| CATEGORY VARCHAR(100) NOT NULL, |
| TAGS TEXT, |
| CONSTRAINT PK__EXTENSION_ID PRIMARY KEY (ID), |
| CONSTRAINT FK__EXTENSION_EXTENSION_BUNDLE_VERSION_ID FOREIGN KEY (EXTENSION_BUNDLE_VERSION_ID) REFERENCES EXTENSION_BUNDLE_VERSION(ID) ON DELETE CASCADE, |
| CONSTRAINT UNIQUE__EXTENSION_EXTENSION_BUNDLE_VERSION_ID_AND_TYPE UNIQUE (EXTENSION_BUNDLE_VERSION_ID, TYPE) |
| ); |
| |
| CREATE TABLE EXTENSION_TAG ( |
| EXTENSION_ID VARCHAR(50) NOT NULL, |
| TAG VARCHAR(200) NOT NULL, |
| CONSTRAINT PK__EXTENSION_TAG_EXTENSION_ID_AND_TAG PRIMARY KEY (EXTENSION_ID, TAG), |
| CONSTRAINT FK__EXTENSION_TAG_EXTENSION_ID FOREIGN KEY (EXTENSION_ID) REFERENCES EXTENSION(ID) ON DELETE CASCADE |
| ); |
| |
| ALTER TABLE BUCKET ADD ALLOW_EXTENSION_BUNDLE_REDEPLOY INT NOT NULL DEFAULT (0); |