You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
262 lines
9.9 KiB
262 lines
9.9 KiB
/*
|
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
|
*
|
|
* Licensed 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 user nacos (Oracle schema is created through user creation)
|
|
-- CREATE USER nacos IDENTIFIED BY nacos;
|
|
-- GRANT CONNECT, RESOURCE TO nacos;
|
|
|
|
CREATE TABLE config_info (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
data_id VARCHAR2(255) NOT NULL,
|
|
group_id VARCHAR2(128) NOT NULL,
|
|
tenant_id VARCHAR2(128) DEFAULT '',
|
|
app_name VARCHAR2(128),
|
|
content CLOB,
|
|
md5 VARCHAR2(32) DEFAULT NULL,
|
|
gmt_create TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
gmt_modified TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
src_user VARCHAR2(128) DEFAULT NULL,
|
|
src_ip VARCHAR2(50) DEFAULT NULL,
|
|
c_desc VARCHAR2(256) DEFAULT NULL,
|
|
c_use VARCHAR2(64) DEFAULT NULL,
|
|
effect VARCHAR2(64) DEFAULT NULL,
|
|
type VARCHAR2(64) DEFAULT NULL,
|
|
c_schema CLOB DEFAULT NULL,
|
|
encrypted_data_key VARCHAR2(1024) DEFAULT NULL,
|
|
CONSTRAINT configinfo_id_key PRIMARY KEY (id),
|
|
CONSTRAINT uk_configinfo_datagrouptenant UNIQUE (data_id, group_id, tenant_id)
|
|
);
|
|
|
|
CREATE INDEX configinfo_dataid_key_idx ON config_info(data_id);
|
|
CREATE INDEX configinfo_groupid_key_idx ON config_info(group_id);
|
|
CREATE INDEX configinfo_dataid_group_key_idx ON config_info(data_id, group_id);
|
|
|
|
CREATE TABLE his_config_info (
|
|
id NUMBER(20) NOT NULL,
|
|
nid NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
data_id VARCHAR2(255) NOT NULL,
|
|
group_id VARCHAR2(128) NOT NULL,
|
|
tenant_id VARCHAR2(128) DEFAULT '',
|
|
app_name VARCHAR2(128),
|
|
content CLOB,
|
|
md5 VARCHAR2(32) DEFAULT NULL,
|
|
gmt_create TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
gmt_modified TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
src_user VARCHAR2(128),
|
|
src_ip VARCHAR2(50) DEFAULT NULL,
|
|
publish_type VARCHAR2(50) DEFAULT 'formal',
|
|
gray_name VARCHAR2(128) DEFAULT NULL,
|
|
ext_info CLOB,
|
|
op_type CHAR(10) DEFAULT NULL,
|
|
encrypted_data_key VARCHAR2(1024) DEFAULT NULL,
|
|
CONSTRAINT hisconfiginfo_nid_key PRIMARY KEY (nid)
|
|
);
|
|
|
|
CREATE INDEX hisconfiginfo_dataid_key_idx ON his_config_info(data_id);
|
|
CREATE INDEX hisconfiginfo_gmt_create_idx ON his_config_info(gmt_create);
|
|
CREATE INDEX hisconfiginfo_gmt_modified_idx ON his_config_info(gmt_modified);
|
|
|
|
CREATE TABLE config_info_gray (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
data_id VARCHAR2(255) NOT NULL,
|
|
group_id VARCHAR2(128) NOT NULL,
|
|
tenant_id VARCHAR2(128) DEFAULT '',
|
|
gray_name VARCHAR2(128) NOT NULL,
|
|
gray_rule CLOB,
|
|
app_name VARCHAR2(128),
|
|
src_ip VARCHAR2(128),
|
|
src_user VARCHAR2(128) DEFAULT '',
|
|
content CLOB,
|
|
md5 VARCHAR2(32) DEFAULT NULL,
|
|
encrypted_data_key VARCHAR2(256) DEFAULT NULL,
|
|
gmt_create TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
gmt_modified TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
CONSTRAINT configinfogray_id_key PRIMARY KEY (id),
|
|
CONSTRAINT uk_configinfogray_datagrouptenantgrayname UNIQUE (data_id, group_id, tenant_id, gray_name)
|
|
);
|
|
|
|
CREATE INDEX config_info_gray_dataid_gmt_modified ON config_info_gray(data_id, gmt_modified);
|
|
CREATE INDEX config_info_gray_gmt_modified ON config_info_gray(gmt_modified);
|
|
|
|
CREATE TABLE config_tags_relation (
|
|
id NUMBER(19) NOT NULL,
|
|
tag_name VARCHAR2(128) NOT NULL,
|
|
tag_type VARCHAR2(64) DEFAULT NULL,
|
|
data_id VARCHAR2(255) NOT NULL,
|
|
group_id VARCHAR2(128) NOT NULL,
|
|
tenant_id VARCHAR2(128) DEFAULT '',
|
|
nid NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
CONSTRAINT config_tags_id_key PRIMARY KEY (nid),
|
|
CONSTRAINT uk_configtagrelation_configidtag UNIQUE (id, tag_name, tag_type)
|
|
);
|
|
|
|
CREATE INDEX config_tags_tenant_id_idx ON config_tags_relation(tenant_id);
|
|
|
|
CREATE TABLE group_capacity (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
group_id VARCHAR2(128) DEFAULT '',
|
|
quota NUMBER(10) DEFAULT 0,
|
|
usage NUMBER(10) DEFAULT 0,
|
|
max_size NUMBER(10) DEFAULT 0,
|
|
max_aggr_count NUMBER(10) DEFAULT 0,
|
|
max_aggr_size NUMBER(10) DEFAULT 0,
|
|
max_history_count NUMBER(10) DEFAULT 0,
|
|
gmt_create TIMESTAMP DEFAULT SYSTIMESTAMP,
|
|
gmt_modified TIMESTAMP DEFAULT SYSTIMESTAMP,
|
|
CONSTRAINT group_capacity_id_key PRIMARY KEY (id),
|
|
CONSTRAINT uk_group_id UNIQUE (group_id)
|
|
);
|
|
|
|
CREATE TABLE tenant_capacity (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
tenant_id VARCHAR2(128) DEFAULT '',
|
|
quota NUMBER(10) DEFAULT 0,
|
|
usage NUMBER(10) DEFAULT 0,
|
|
max_size NUMBER(10) DEFAULT 0,
|
|
max_aggr_count NUMBER(10) DEFAULT 0,
|
|
max_aggr_size NUMBER(10) DEFAULT 0,
|
|
max_history_count NUMBER(10) DEFAULT 0,
|
|
gmt_create TIMESTAMP DEFAULT SYSTIMESTAMP,
|
|
gmt_modified TIMESTAMP DEFAULT SYSTIMESTAMP,
|
|
CONSTRAINT tenant_capacity_id_key PRIMARY KEY (id),
|
|
CONSTRAINT uk_tenant_id UNIQUE (tenant_id)
|
|
);
|
|
|
|
CREATE TABLE tenant_info (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY,
|
|
kp VARCHAR2(128) NOT NULL,
|
|
tenant_id VARCHAR2(128) DEFAULT '',
|
|
tenant_name VARCHAR2(128) DEFAULT '',
|
|
tenant_desc VARCHAR2(256) DEFAULT NULL,
|
|
create_source VARCHAR2(32) DEFAULT NULL,
|
|
gmt_create TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
gmt_modified TIMESTAMP NOT NULL DEFAULT SYSTIMESTAMP,
|
|
CONSTRAINT tenant_info_id_key PRIMARY KEY (id),
|
|
CONSTRAINT uk_tenant_info_kptenantid UNIQUE (kp, tenant_id)
|
|
);
|
|
|
|
CREATE INDEX tenant_info_tenant_id_idx ON tenant_info(tenant_id);
|
|
|
|
CREATE TABLE users (
|
|
username VARCHAR2(50) NOT NULL PRIMARY KEY,
|
|
password VARCHAR2(500) NOT NULL,
|
|
enabled NUMBER(1) NOT NULL DEFAULT 1
|
|
);
|
|
|
|
CREATE TABLE roles (
|
|
username VARCHAR2(50) NOT NULL,
|
|
role VARCHAR2(50) NOT NULL,
|
|
CONSTRAINT uk_username_role UNIQUE (username, role)
|
|
);
|
|
|
|
CREATE TABLE permissions (
|
|
role VARCHAR2(50) NOT NULL,
|
|
resource VARCHAR2(255) NOT NULL,
|
|
action VARCHAR2(8) NOT NULL,
|
|
CONSTRAINT uk_role_permission UNIQUE (role, resource, action)
|
|
);
|
|
|
|
|
|
/******************************************/
|
|
/* ipv6 support */
|
|
/******************************************/
|
|
|
|
-- Note: In Oracle, ALTER TABLE ADD for existing columns should be handled carefully
|
|
-- The following statements are kept for compatibility but may need adjustment if columns already exist
|
|
|
|
-- ALTER TABLE his_config_info ADD src_ip VARCHAR2(50) DEFAULT NULL;
|
|
|
|
-- ALTER TABLE config_info ADD src_ip VARCHAR2(50) DEFAULT NULL;
|
|
|
|
|
|
/******************************************/
|
|
/* support gray history since 2.5.0 */
|
|
/******************************************/
|
|
|
|
-- Note: These columns are already included in the CREATE TABLE statement above
|
|
-- The following ALTER statements are kept for reference when upgrading from older versions
|
|
|
|
-- ALTER TABLE his_config_info ADD publish_type VARCHAR2(50) DEFAULT 'formal';
|
|
-- ALTER TABLE his_config_info ADD ext_info CLOB DEFAULT NULL;
|
|
-- ALTER TABLE his_config_info ADD gray_name VARCHAR2(128) DEFAULT NULL;
|
|
|
|
|
|
/******************************************/
|
|
/* 表名称 = pipeline_execution */
|
|
/******************************************/
|
|
CREATE TABLE pipeline_execution (
|
|
execution_id VARCHAR2(64) NOT NULL,
|
|
resource_type VARCHAR2(32) NOT NULL,
|
|
resource_name VARCHAR2(256) NOT NULL,
|
|
namespace_id VARCHAR2(128) DEFAULT NULL,
|
|
version VARCHAR2(64) DEFAULT NULL,
|
|
status VARCHAR2(32) NOT NULL,
|
|
pipeline CLOB NOT NULL,
|
|
create_time NUMBER(20) NOT NULL,
|
|
update_time NUMBER(20) NOT NULL,
|
|
CONSTRAINT pk_pipeline_execution PRIMARY KEY (execution_id)
|
|
);
|
|
|
|
/******************************************/
|
|
/* 表名称 = ai_resource */
|
|
/******************************************/
|
|
CREATE TABLE ai_resource (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
gmt_create TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL,
|
|
gmt_modified TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL,
|
|
name VARCHAR2(256) NOT NULL,
|
|
type VARCHAR2(32) NOT NULL,
|
|
c_desc VARCHAR2(1024) DEFAULT NULL,
|
|
status VARCHAR2(32) DEFAULT NULL,
|
|
namespace_id VARCHAR2(128) DEFAULT '' NOT NULL,
|
|
biz_tags VARCHAR2(1024) DEFAULT NULL,
|
|
ext CLOB DEFAULT NULL,
|
|
c_from VARCHAR2(256) DEFAULT 'local' NOT NULL,
|
|
version_info CLOB DEFAULT NULL,
|
|
meta_version NUMBER(20) DEFAULT 1 NOT NULL,
|
|
scope VARCHAR2(16) DEFAULT 'PRIVATE' NOT NULL,
|
|
owner VARCHAR2(128) DEFAULT '' NOT NULL,
|
|
download_count NUMBER(20) DEFAULT 0 NOT NULL,
|
|
CONSTRAINT uk_ai_resource_ns_name_type UNIQUE (namespace_id, name, type, c_from)
|
|
);
|
|
|
|
CREATE INDEX idx_ai_resource_name ON ai_resource(name);
|
|
CREATE INDEX idx_ai_resource_type ON ai_resource(type);
|
|
CREATE INDEX idx_ai_resource_gmt_modified ON ai_resource(gmt_modified);
|
|
|
|
/******************************************/
|
|
/* 表名称 = ai_resource_version */
|
|
/******************************************/
|
|
CREATE TABLE ai_resource_version (
|
|
id NUMBER(20) GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
gmt_create TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL,
|
|
gmt_modified TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL,
|
|
type VARCHAR2(32) NOT NULL,
|
|
author VARCHAR2(128) DEFAULT NULL,
|
|
name VARCHAR2(256) NOT NULL,
|
|
c_desc VARCHAR2(1024) DEFAULT NULL,
|
|
status VARCHAR2(32) NOT NULL,
|
|
version VARCHAR2(64) NOT NULL,
|
|
namespace_id VARCHAR2(128) DEFAULT '' NOT NULL,
|
|
storage CLOB DEFAULT NULL,
|
|
publish_pipeline_info CLOB DEFAULT NULL,
|
|
download_count NUMBER(20) DEFAULT 0 NOT NULL,
|
|
CONSTRAINT uk_ai_res_ver_ns_nm_tp_ver UNIQUE (namespace_id, name, type, version)
|
|
);
|
|
|
|
CREATE INDEX idx_ai_res_ver_name ON ai_resource_version(name);
|
|
CREATE INDEX idx_ai_res_ver_status ON ai_resource_version(status);
|
|
CREATE INDEX idx_ai_res_ver_gmt_mod ON ai_resource_version(gmt_modified);
|
|
|