From 4a53d20b16edb64d342c98747ef296ddace55dce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A0=81=E5=8C=A0=E5=90=9B?=
-
-
-
+
+
+
@@ -47,8 +47,8 @@
## Dante Cloud 响应式版本特性
-- `Spring Boot` 已升级至 3.3.2
-- `Spring Authorization Server` 已升级至 1.3.1
+- `Spring Boot` 已升级至 3.3.3
+- `Spring Authorization Server` 已升级至 1.3.2
- 全面采用 Java 21,默认开启虚拟线程,以改善阻塞操作的处理降低系统资源的消耗
- 支持传统的 `阻塞式` 微服务与基于 `Reactor` 和 `WebFlux` 的 `响应式` 微服务同时运行在一套系统之中
- 不强制使用 `响应式` 方式开发,可根据自身项目对资源吞吐量、资源消耗、特殊功能性能保障的需求,灵活的选择是采用 `响应式` 还是 `阻塞式` 来开发对应的服务。
@@ -148,14 +148,14 @@
| 组件 | 版本 |
|-----------------------------|-----------------|
-| Spring Boot | 3.3.2 |
+| Spring Boot | 3.3.3 |
| Spring Cloud | 2023.0.3 |
| Spring Cloud Alibaba | 2023.0.1.2 |
| Spring Cloud Tencent | 1.14.0-2023.0.0 |
-| Spring Authorization Server | 1.3.1 |
+| Spring Authorization Server | 1.3.2 |
| Spring Boot Admin | 3.3.3 |
-| Nacos | 2.4.0 |
-| Sentinel | 1.8.7 |
+| Nacos | 2.4.1 |
+| Sentinel | 1.8.8 |
| Seata | 1.7.0 |
> Spring 全家桶版本对应关系,详见:[版本说明](https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E)
@@ -321,7 +321,9 @@ Dante Cloud 已通过由第三方进行的软件出厂安全测试以及等保
| 21 | [尹建](https://gitee.com/westcars) | :white_check_mark: | 22 | [常相守](https://gitee.com/canzii) | :white_check_mark: | 23 | [yunnet](https://gitee.com/yunnet) | :white_check_mark: | 24 | [拔土豆的程序员](https://gitee.com/lizhifu) | :white_check_mark: |
| 25 | [lyl_Json](https://gitee.com/lyl_Json_admin) | :white_check_mark: | 26 | [michael](https://gitee.com/yiminyangguang) | :white_check_mark: | 27 | [云烟](https://gitee.com/yunyan5800) | :white_check_mark: | 28 | [swenjie](https://gitee.com/jiewens) | :white_check_mark: |
| 29 | [DanielLu](https://gitee.com/luyemaocode) | :white_check_mark: | 30 | [Jh不会](https://gitee.com/hardxiao) | :white_check_mark: | 31 | [zhangkunming](https://gitee.com/kmzhang) | :white_check_mark: | 32 | [大叔丨小巷](https://gitee.com/yushui_wang) | :white_check_mark: |
-| 33 | [!ʘuʘ!](https://gitee.com/qw3e) | :white_check_mark: | 34 | [shenwuwu](https://gitee.com/shenwuwu) | :white_check_mark: | 35 | [Li-Yitian](https://gitee.com/liyitian) | :white_check_mark: | 36 | | :white_check_mark: |
+| 33 | [!ʘuʘ!](https://gitee.com/qw3e) | :white_check_mark: | 34 | [shenwuwu](https://gitee.com/shenwuwu) | :white_check_mark: | 35 | [Li-Yitian](https://gitee.com/liyitian) | :white_check_mark: | 36 | [lazybones](https://gitee.com/lazyboneszqs) | :white_check_mark: |
+| 37 | [lidinglin](https://gitee.com/lidinglin3452) | :white_check_mark: | 38 | [讲你知](https://gitee.com/PengKai0706) | :white_check_mark: | 39 | [onehelper](https://gitee.com/onehelper) | :white_check_mark: | 40 | [大将军王](https://gitee.com/xiaoxiangyueying) | :white_check_mark: |
+| 41 | [lbY](https://gitee.com/lbYue) | :white_check_mark: | 42 | [財財](https://gitee.com/a545932167) | :white_check_mark: | 43 | | :white_check_mark: | 44 | | :white_check_mark: | | :white_check_mark: |
## [14]、鸣谢
diff --git a/configurations/docker/docker-compose/linux/herodotus/.env b/configurations/docker/docker-compose/linux/herodotus/.env
index d479a242..9719ad59 100644
--- a/configurations/docker/docker-compose/linux/herodotus/.env
+++ b/configurations/docker/docker-compose/linux/herodotus/.env
@@ -1,4 +1,4 @@
-VERSION=3.3.2.2
+VERSION=3.3.3.0
SPRING_PROFILES_ACTIVE=alibaba
PROFILE=development
DATABASE=postgresql
diff --git a/configurations/docker/docker-compose/linux/herodotus/env.base.yml b/configurations/docker/docker-compose/linux/herodotus/env.base.yml
index 02ee47b4..e4bb3a14 100644
--- a/configurations/docker/docker-compose/linux/herodotus/env.base.yml
+++ b/configurations/docker/docker-compose/linux/herodotus/env.base.yml
@@ -1,6 +1,7 @@
services:
nacos:
- image: quay.io/dante-cloud/nacos-server:v2.4.0
+ image: quay.io/dante-cloud/nacos-server:v2.4.1
+ # image: herodotus/nacos-server:v2.4.1:v2.4.1
container_name: nacos
hostname: nacos
environment:
diff --git a/configurations/docker/docker-compose/linux/herodotus/env.full.debezium.yml b/configurations/docker/docker-compose/linux/herodotus/env.full.debezium.yml
index 71bae3d4..74920bbc 100644
--- a/configurations/docker/docker-compose/linux/herodotus/env.full.debezium.yml
+++ b/configurations/docker/docker-compose/linux/herodotus/env.full.debezium.yml
@@ -1,6 +1,7 @@
services:
nacos:
- image: quay.io/dante-cloud/nacos-server:v2.4.0
+ image: quay.io/dante-cloud/nacos-server:v2.4.1
+ # image: herodotus/nacos-server:v2.4.1:v2.4.1
container_name: nacos
hostname: nacos
restart: always
diff --git a/configurations/docker/docker-compose/linux/herodotus/env.oss.yml b/configurations/docker/docker-compose/linux/herodotus/env.oss.yml
index 030918a5..e197c3a0 100644
--- a/configurations/docker/docker-compose/linux/herodotus/env.oss.yml
+++ b/configurations/docker/docker-compose/linux/herodotus/env.oss.yml
@@ -1,6 +1,6 @@
services:
minio:
- image: quay.io/minio/minio:RELEASE.2024-08-03T04-33-23Z
+ image: quay.io/minio/minio:RELEASE.2024-08-17T01-24-54Z
container_name: minio
hostname: minio
ports:
diff --git a/configurations/docker/docker-compose/linux/herodotus/env.quick-start.yaml b/configurations/docker/docker-compose/linux/herodotus/env.quick-start.yaml
index cd2f48c0..28d5007d 100644
--- a/configurations/docker/docker-compose/linux/herodotus/env.quick-start.yaml
+++ b/configurations/docker/docker-compose/linux/herodotus/env.quick-start.yaml
@@ -2,7 +2,8 @@ version: '3.8'
services:
nacos:
- image: quay.io/dante-cloud/nacos-server:v2.4.0
+ image: quay.io/dante-cloud/nacos-server:v2.4.1
+ # image: herodotus/nacos-server:v2.4.1:v2.4.1
container_name: dante-nacos
hostname: dante-nacos
environment:
diff --git a/configurations/docker/docker-compose/windows/herodotus/.env b/configurations/docker/docker-compose/windows/herodotus/.env
index d89dfc02..2357a2c0 100644
--- a/configurations/docker/docker-compose/windows/herodotus/.env
+++ b/configurations/docker/docker-compose/windows/herodotus/.env
@@ -1,4 +1,4 @@
-VERSION=3.3.2.2
+VERSION=3.3.3.0
SPRING_PROFILES_ACTIVE=alibaba
PROFILE=development
DATABASE=postgresql
diff --git a/configurations/docker/docker-compose/windows/herodotus/env.base.yml b/configurations/docker/docker-compose/windows/herodotus/env.base.yml
index 46bf2e7c..3985b255 100644
--- a/configurations/docker/docker-compose/windows/herodotus/env.base.yml
+++ b/configurations/docker/docker-compose/windows/herodotus/env.base.yml
@@ -1,6 +1,7 @@
services:
nacos:
- image: quay.io/dante-cloud/nacos-server:v2.4.0
+ image: quay.io/dante-cloud/nacos-server:v2.4.1
+ # image: herodotus/nacos-server:v2.4.1:v2.4.1
container_name: nacos
environment:
MODE: standalone
diff --git a/configurations/docker/docker-compose/windows/herodotus/env.full.base.yml b/configurations/docker/docker-compose/windows/herodotus/env.full.base.yml
index e29eb013..dd276b64 100644
--- a/configurations/docker/docker-compose/windows/herodotus/env.full.base.yml
+++ b/configurations/docker/docker-compose/windows/herodotus/env.full.base.yml
@@ -1,6 +1,7 @@
services:
nacos:
- image: quay.io/dante-cloud/nacos-server:v2.4.0
+ image: quay.io/dante-cloud/nacos-server:v2.4.1
+ # image: herodotus/nacos-server:v2.4.1:v2.4.1
container_name: nacos
environment:
MODE: standalone
diff --git a/configurations/docker/docker-compose/windows/herodotus/env.full.debezium.yml b/configurations/docker/docker-compose/windows/herodotus/env.full.debezium.yml
index 2fb454c1..75cc4390 100644
--- a/configurations/docker/docker-compose/windows/herodotus/env.full.debezium.yml
+++ b/configurations/docker/docker-compose/windows/herodotus/env.full.debezium.yml
@@ -1,6 +1,7 @@
services:
nacos:
- image: quay.io/dante-cloud/nacos-server:v2.4.0
+ image: quay.io/dante-cloud/nacos-server:v2.4.1
+ # image: herodotus/nacos-server:v2.4.1:v2.4.1
container_name: nacos
hostname: nacos
restart: always
diff --git a/configurations/docker/docker-compose/windows/herodotus/env.oss.yml b/configurations/docker/docker-compose/windows/herodotus/env.oss.yml
index f437baa5..bea7aa1c 100644
--- a/configurations/docker/docker-compose/windows/herodotus/env.oss.yml
+++ b/configurations/docker/docker-compose/windows/herodotus/env.oss.yml
@@ -1,6 +1,6 @@
services:
minio:
- image: quay.io/minio/minio:RELEASE.2024-08-03T04-33-23Z
+ image: quay.io/minio/minio:RELEASE.2024-08-17T01-24-54Z
container_name: minio
hostname: minio
ports:
diff --git a/configurations/scripts/nacos/sqls/nacos-mysql_2.4.1.sql b/configurations/scripts/nacos/sqls/nacos-mysql_2.4.1.sql
new file mode 100644
index 00000000..d3c06606
--- /dev/null
+++ b/configurations/scripts/nacos/sqls/nacos-mysql_2.4.1.sql
@@ -0,0 +1,210 @@
+/*
+ * 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.
+ */
+
+/******************************************/
+/* 表名称 = config_info */
+/******************************************/
+CREATE TABLE `config_info` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `data_id` varchar(255) NOT NULL COMMENT 'data_id',
+ `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
+ `content` longtext NOT NULL COMMENT 'content',
+ `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
+ `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ `src_user` text COMMENT 'source user',
+ `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
+ `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
+ `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
+ `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',
+ `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',
+ `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述',
+ `type` varchar(64) DEFAULT NULL COMMENT '配置的类型',
+ `c_schema` text COMMENT '配置的模式',
+ `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
+
+/******************************************/
+/* 表名称 = config_info_aggr */
+/******************************************/
+CREATE TABLE `config_info_aggr` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `data_id` varchar(255) NOT NULL COMMENT 'data_id',
+ `group_id` varchar(128) NOT NULL COMMENT 'group_id',
+ `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
+ `content` longtext NOT NULL COMMENT '内容',
+ `gmt_modified` datetime NOT NULL COMMENT '修改时间',
+ `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
+ `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
+
+
+/******************************************/
+/* 表名称 = config_info_beta */
+/******************************************/
+CREATE TABLE `config_info_beta` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `data_id` varchar(255) NOT NULL COMMENT 'data_id',
+ `group_id` varchar(128) NOT NULL COMMENT 'group_id',
+ `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
+ `content` longtext NOT NULL COMMENT 'content',
+ `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
+ `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
+ `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ `src_user` text COMMENT 'source user',
+ `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
+ `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
+ `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
+
+/******************************************/
+/* 表名称 = config_info_tag */
+/******************************************/
+CREATE TABLE `config_info_tag` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `data_id` varchar(255) NOT NULL COMMENT 'data_id',
+ `group_id` varchar(128) NOT NULL COMMENT 'group_id',
+ `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
+ `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
+ `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
+ `content` longtext NOT NULL COMMENT 'content',
+ `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
+ `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ `src_user` text COMMENT 'source user',
+ `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
+
+/******************************************/
+/* 表名称 = config_tags_relation */
+/******************************************/
+CREATE TABLE `config_tags_relation` (
+ `id` bigint(20) NOT NULL COMMENT 'id',
+ `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
+ `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
+ `data_id` varchar(255) NOT NULL COMMENT 'data_id',
+ `group_id` varchar(128) NOT NULL COMMENT 'group_id',
+ `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
+ `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
+ PRIMARY KEY (`nid`),
+ UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
+ KEY `idx_tenant_id` (`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
+
+/******************************************/
+/* 表名称 = group_capacity */
+/******************************************/
+CREATE TABLE `group_capacity` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
+ `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
+ `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
+ `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
+ `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
+ `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
+ `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
+ `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_group_id` (`group_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
+
+/******************************************/
+/* 表名称 = his_config_info */
+/******************************************/
+CREATE TABLE `his_config_info` (
+ `id` bigint(20) unsigned NOT NULL COMMENT 'id',
+ `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
+ `data_id` varchar(255) NOT NULL COMMENT 'data_id',
+ `group_id` varchar(128) NOT NULL COMMENT 'group_id',
+ `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
+ `content` longtext NOT NULL COMMENT 'content',
+ `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
+ `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ `src_user` text COMMENT 'source user',
+ `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
+ `op_type` char(10) DEFAULT NULL COMMENT 'operation type',
+ `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
+ `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
+ PRIMARY KEY (`nid`),
+ KEY `idx_gmt_create` (`gmt_create`),
+ KEY `idx_gmt_modified` (`gmt_modified`),
+ KEY `idx_did` (`data_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
+
+
+/******************************************/
+/* 表名称 = tenant_capacity */
+/******************************************/
+CREATE TABLE `tenant_capacity` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
+ `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
+ `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
+ `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
+ `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
+ `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
+ `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
+ `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_tenant_id` (`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
+
+
+CREATE TABLE `tenant_info` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `kp` varchar(128) NOT NULL COMMENT 'kp',
+ `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
+ `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
+ `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
+ `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
+ `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
+ `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
+ KEY `idx_tenant_id` (`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
+
+CREATE TABLE `users` (
+ `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',
+ `password` varchar(500) NOT NULL COMMENT 'password',
+ `enabled` boolean NOT NULL COMMENT 'enabled'
+);
+
+CREATE TABLE `roles` (
+ `username` varchar(50) NOT NULL COMMENT 'username',
+ `role` varchar(50) NOT NULL COMMENT 'role',
+ UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
+);
+
+CREATE TABLE `permissions` (
+ `role` varchar(50) NOT NULL COMMENT 'role',
+ `resource` varchar(128) NOT NULL COMMENT 'resource',
+ `action` varchar(8) NOT NULL COMMENT 'action',
+ UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
+);
+
diff --git a/configurations/scripts/nacos/sqls/nacos-postgresql_2.4.1.sql b/configurations/scripts/nacos/sqls/nacos-postgresql_2.4.1.sql
new file mode 100644
index 00000000..db9a7389
--- /dev/null
+++ b/configurations/scripts/nacos/sqls/nacos-postgresql_2.4.1.sql
@@ -0,0 +1,640 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : LOCAL_PG_NACOS
+ Source Server Type : PostgreSQL
+ Source Server Version : 160002 (160002)
+ Source Host : 192.168.101.10:15432
+ Source Catalog : nacos
+ Source Schema : public
+
+ Target Server Type : PostgreSQL
+ Target Server Version : 160002 (160002)
+ File Encoding : 65001
+
+ Date: 20/08/2024 21:28:06
+*/
+
+
+-- ----------------------------
+-- Sequence structure for config_info_aggr_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "config_info_aggr_id_seq";
+CREATE SEQUENCE "config_info_aggr_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for config_info_beta_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "config_info_beta_id_seq";
+CREATE SEQUENCE "config_info_beta_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for config_info_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "config_info_id_seq";
+CREATE SEQUENCE "config_info_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for config_info_tag_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "config_info_tag_id_seq";
+CREATE SEQUENCE "config_info_tag_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for config_tags_relation_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "config_tags_relation_id_seq";
+CREATE SEQUENCE "config_tags_relation_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for config_tags_relation_nid_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "config_tags_relation_nid_seq";
+CREATE SEQUENCE "config_tags_relation_nid_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for group_capacity_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "group_capacity_id_seq";
+CREATE SEQUENCE "group_capacity_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for his_config_info_nid_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "his_config_info_nid_seq";
+CREATE SEQUENCE "his_config_info_nid_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for tenant_capacity_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "tenant_capacity_id_seq";
+CREATE SEQUENCE "tenant_capacity_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Sequence structure for tenant_info_id_seq
+-- ----------------------------
+DROP SEQUENCE IF EXISTS "tenant_info_id_seq";
+CREATE SEQUENCE "tenant_info_id_seq"
+ INCREMENT 1
+MINVALUE 1
+MAXVALUE 9223372036854775807
+START 1
+CACHE 1;
+
+-- ----------------------------
+-- Table structure for config_info
+-- ----------------------------
+DROP TABLE IF EXISTS "config_info";
+CREATE TABLE "config_info" (
+ "id" int8 NOT NULL DEFAULT nextval('config_info_id_seq'::regclass),
+ "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "group_id" varchar(255) COLLATE "pg_catalog"."default",
+ "content" text COLLATE "pg_catalog"."default" NOT NULL,
+ "md5" varchar(32) COLLATE "pg_catalog"."default",
+ "gmt_create" timestamp(6) NOT NULL,
+ "gmt_modified" timestamp(6) NOT NULL,
+ "src_user" text COLLATE "pg_catalog"."default",
+ "src_ip" varchar(20) COLLATE "pg_catalog"."default",
+ "app_name" varchar(128) COLLATE "pg_catalog"."default",
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default",
+ "c_desc" varchar(256) COLLATE "pg_catalog"."default",
+ "c_use" varchar(64) COLLATE "pg_catalog"."default",
+ "effect" varchar(64) COLLATE "pg_catalog"."default",
+ "type" varchar(64) COLLATE "pg_catalog"."default",
+ "c_schema" text COLLATE "pg_catalog"."default",
+ "encrypted_data_key" varchar(1024) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
+)
+;
+COMMENT ON COLUMN "config_info"."id" IS 'id';
+COMMENT ON COLUMN "config_info"."data_id" IS 'data_id';
+COMMENT ON COLUMN "config_info"."content" IS 'content';
+COMMENT ON COLUMN "config_info"."md5" IS 'md5';
+COMMENT ON COLUMN "config_info"."gmt_create" IS '创建时间';
+COMMENT ON COLUMN "config_info"."gmt_modified" IS '修改时间';
+COMMENT ON COLUMN "config_info"."src_user" IS 'source user';
+COMMENT ON COLUMN "config_info"."src_ip" IS 'source ip';
+COMMENT ON COLUMN "config_info"."tenant_id" IS '租户字段';
+COMMENT ON COLUMN "config_info"."encrypted_data_key" IS '秘钥';
+COMMENT ON TABLE "config_info" IS 'config_info';
+
+-- ----------------------------
+-- Table structure for config_info_aggr
+-- ----------------------------
+DROP TABLE IF EXISTS "config_info_aggr";
+CREATE TABLE "config_info_aggr" (
+ "id" int8 NOT NULL DEFAULT nextval('config_info_aggr_id_seq'::regclass),
+ "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "group_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "datum_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "content" text COLLATE "pg_catalog"."default" NOT NULL,
+ "gmt_modified" timestamp(6) NOT NULL,
+ "app_name" varchar(128) COLLATE "pg_catalog"."default",
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default"
+)
+;
+COMMENT ON COLUMN "config_info_aggr"."id" IS 'id';
+COMMENT ON COLUMN "config_info_aggr"."data_id" IS 'data_id';
+COMMENT ON COLUMN "config_info_aggr"."group_id" IS 'group_id';
+COMMENT ON COLUMN "config_info_aggr"."datum_id" IS 'datum_id';
+COMMENT ON COLUMN "config_info_aggr"."content" IS '内容';
+COMMENT ON COLUMN "config_info_aggr"."gmt_modified" IS '修改时间';
+COMMENT ON COLUMN "config_info_aggr"."tenant_id" IS '租户字段';
+COMMENT ON TABLE "config_info_aggr" IS '增加租户字段';
+
+-- ----------------------------
+-- Table structure for config_info_beta
+-- ----------------------------
+DROP TABLE IF EXISTS "config_info_beta";
+CREATE TABLE "config_info_beta" (
+ "id" int8 NOT NULL DEFAULT nextval('config_info_beta_id_seq'::regclass),
+ "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "app_name" varchar(128) COLLATE "pg_catalog"."default",
+ "content" text COLLATE "pg_catalog"."default" NOT NULL,
+ "beta_ips" varchar(1024) COLLATE "pg_catalog"."default",
+ "md5" varchar(32) COLLATE "pg_catalog"."default",
+ "gmt_create" timestamp(6) NOT NULL,
+ "gmt_modified" timestamp(6) NOT NULL,
+ "src_user" text COLLATE "pg_catalog"."default",
+ "src_ip" varchar(20) COLLATE "pg_catalog"."default",
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default",
+ "encrypted_data_key" varchar(1024) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
+)
+;
+COMMENT ON COLUMN "config_info_beta"."id" IS 'id';
+COMMENT ON COLUMN "config_info_beta"."data_id" IS 'data_id';
+COMMENT ON COLUMN "config_info_beta"."group_id" IS 'group_id';
+COMMENT ON COLUMN "config_info_beta"."app_name" IS 'app_name';
+COMMENT ON COLUMN "config_info_beta"."content" IS 'content';
+COMMENT ON COLUMN "config_info_beta"."beta_ips" IS 'betaIps';
+COMMENT ON COLUMN "config_info_beta"."md5" IS 'md5';
+COMMENT ON COLUMN "config_info_beta"."gmt_create" IS '创建时间';
+COMMENT ON COLUMN "config_info_beta"."gmt_modified" IS '修改时间';
+COMMENT ON COLUMN "config_info_beta"."src_user" IS 'source user';
+COMMENT ON COLUMN "config_info_beta"."src_ip" IS 'source ip';
+COMMENT ON COLUMN "config_info_beta"."tenant_id" IS '租户字段';
+COMMENT ON COLUMN "config_info_beta"."encrypted_data_key" IS '秘钥';
+COMMENT ON TABLE "config_info_beta" IS 'config_info_beta';
+
+-- ----------------------------
+-- Table structure for config_info_tag
+-- ----------------------------
+DROP TABLE IF EXISTS "config_info_tag";
+CREATE TABLE "config_info_tag" (
+ "id" int8 NOT NULL DEFAULT nextval('config_info_tag_id_seq'::regclass),
+ "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default",
+ "tag_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "app_name" varchar(128) COLLATE "pg_catalog"."default",
+ "content" text COLLATE "pg_catalog"."default" NOT NULL,
+ "md5" varchar(32) COLLATE "pg_catalog"."default",
+ "gmt_create" timestamp(6) NOT NULL,
+ "gmt_modified" timestamp(6) NOT NULL,
+ "src_user" text COLLATE "pg_catalog"."default",
+ "src_ip" varchar(20) COLLATE "pg_catalog"."default"
+)
+;
+COMMENT ON COLUMN "config_info_tag"."id" IS 'id';
+COMMENT ON COLUMN "config_info_tag"."data_id" IS 'data_id';
+COMMENT ON COLUMN "config_info_tag"."group_id" IS 'group_id';
+COMMENT ON COLUMN "config_info_tag"."tenant_id" IS 'tenant_id';
+COMMENT ON COLUMN "config_info_tag"."tag_id" IS 'tag_id';
+COMMENT ON COLUMN "config_info_tag"."app_name" IS 'app_name';
+COMMENT ON COLUMN "config_info_tag"."content" IS 'content';
+COMMENT ON COLUMN "config_info_tag"."md5" IS 'md5';
+COMMENT ON COLUMN "config_info_tag"."gmt_create" IS '创建时间';
+COMMENT ON COLUMN "config_info_tag"."gmt_modified" IS '修改时间';
+COMMENT ON COLUMN "config_info_tag"."src_user" IS 'source user';
+COMMENT ON COLUMN "config_info_tag"."src_ip" IS 'source ip';
+COMMENT ON TABLE "config_info_tag" IS 'config_info_tag';
+
+-- ----------------------------
+-- Table structure for config_tags_relation
+-- ----------------------------
+DROP TABLE IF EXISTS "config_tags_relation";
+CREATE TABLE "config_tags_relation" (
+ "id" int8 NOT NULL DEFAULT nextval('config_tags_relation_id_seq'::regclass),
+ "tag_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "tag_type" varchar(64) COLLATE "pg_catalog"."default",
+ "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default",
+ "nid" int8 NOT NULL DEFAULT nextval('config_tags_relation_nid_seq'::regclass)
+)
+;
+COMMENT ON COLUMN "config_tags_relation"."id" IS 'id';
+COMMENT ON COLUMN "config_tags_relation"."tag_name" IS 'tag_name';
+COMMENT ON COLUMN "config_tags_relation"."tag_type" IS 'tag_type';
+COMMENT ON COLUMN "config_tags_relation"."data_id" IS 'data_id';
+COMMENT ON COLUMN "config_tags_relation"."group_id" IS 'group_id';
+COMMENT ON COLUMN "config_tags_relation"."tenant_id" IS 'tenant_id';
+COMMENT ON TABLE "config_tags_relation" IS 'config_tag_relation';
+
+-- ----------------------------
+-- Table structure for group_capacity
+-- ----------------------------
+DROP TABLE IF EXISTS "group_capacity";
+CREATE TABLE "group_capacity" (
+ "id" int8 NOT NULL DEFAULT nextval('group_capacity_id_seq'::regclass),
+ "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "quota" int4 NOT NULL,
+ "usage" int4 NOT NULL,
+ "max_size" int4 NOT NULL,
+ "max_aggr_count" int4 NOT NULL,
+ "max_aggr_size" int4 NOT NULL,
+ "max_history_count" int4 NOT NULL,
+ "gmt_create" timestamp(6) NOT NULL,
+ "gmt_modified" timestamp(6) NOT NULL
+)
+;
+COMMENT ON COLUMN "group_capacity"."id" IS '主键ID';
+COMMENT ON COLUMN "group_capacity"."group_id" IS 'Group ID,空字符表示整个集群';
+COMMENT ON COLUMN "group_capacity"."quota" IS '配额,0表示使用默认值';
+COMMENT ON COLUMN "group_capacity"."usage" IS '使用量';
+COMMENT ON COLUMN "group_capacity"."max_size" IS '单个配置大小上限,单位为字节,0表示使用默认值';
+COMMENT ON COLUMN "group_capacity"."max_aggr_count" IS '聚合子配置最大个数,,0表示使用默认值';
+COMMENT ON COLUMN "group_capacity"."max_aggr_size" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
+COMMENT ON COLUMN "group_capacity"."max_history_count" IS '最大变更历史数量';
+COMMENT ON COLUMN "group_capacity"."gmt_create" IS '创建时间';
+COMMENT ON COLUMN "group_capacity"."gmt_modified" IS '修改时间';
+COMMENT ON TABLE "group_capacity" IS '集群、各Group容量信息表';
+
+-- ----------------------------
+-- Table structure for his_config_info
+-- ----------------------------
+DROP TABLE IF EXISTS "his_config_info";
+CREATE TABLE "his_config_info" (
+ "id" int8 NOT NULL,
+ "nid" int8 NOT NULL DEFAULT nextval('his_config_info_nid_seq'::regclass),
+ "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
+ "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "app_name" varchar(128) COLLATE "pg_catalog"."default",
+ "content" text COLLATE "pg_catalog"."default" NOT NULL,
+ "md5" varchar(32) COLLATE "pg_catalog"."default",
+ "gmt_create" timestamp(6) NOT NULL DEFAULT '2010-05-05 00:00:00'::timestamp without time zone,
+ "gmt_modified" timestamp(6) NOT NULL,
+ "src_user" text COLLATE "pg_catalog"."default",
+ "src_ip" varchar(20) COLLATE "pg_catalog"."default",
+ "op_type" char(10) COLLATE "pg_catalog"."default",
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default",
+ "encrypted_data_key" varchar(1024) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying
+)
+;
+COMMENT ON COLUMN "his_config_info"."app_name" IS 'app_name';
+COMMENT ON COLUMN "his_config_info"."tenant_id" IS '租户字段';
+COMMENT ON COLUMN "his_config_info"."encrypted_data_key" IS '秘钥';
+COMMENT ON TABLE "his_config_info" IS '多租户改造';
+
+-- ----------------------------
+-- Table structure for permissions
+-- ----------------------------
+DROP TABLE IF EXISTS "permissions";
+CREATE TABLE "permissions" (
+ "role" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
+ "resource" varchar(512) COLLATE "pg_catalog"."default" NOT NULL,
+ "action" varchar(8) COLLATE "pg_catalog"."default" NOT NULL
+)
+;
+
+-- ----------------------------
+-- Table structure for roles
+-- ----------------------------
+DROP TABLE IF EXISTS "roles";
+CREATE TABLE "roles" (
+ "username" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
+ "role" varchar(50) COLLATE "pg_catalog"."default" NOT NULL
+)
+;
+COMMENT ON COLUMN "roles"."username" IS 'username';
+COMMENT ON COLUMN "roles"."role" IS 'role';
+
+-- ----------------------------
+-- Table structure for tenant_capacity
+-- ----------------------------
+DROP TABLE IF EXISTS "tenant_capacity";
+CREATE TABLE "tenant_capacity" (
+ "id" int8 NOT NULL DEFAULT nextval('tenant_capacity_id_seq'::regclass),
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "quota" int4 NOT NULL,
+ "usage" int4 NOT NULL,
+ "max_size" int4 NOT NULL,
+ "max_aggr_count" int4 NOT NULL,
+ "max_aggr_size" int4 NOT NULL,
+ "max_history_count" int4 NOT NULL,
+ "gmt_create" timestamp(6) NOT NULL,
+ "gmt_modified" timestamp(6) NOT NULL
+)
+;
+COMMENT ON COLUMN "tenant_capacity"."id" IS '主键ID';
+COMMENT ON COLUMN "tenant_capacity"."tenant_id" IS 'Tenant ID';
+COMMENT ON COLUMN "tenant_capacity"."quota" IS '配额,0表示使用默认值';
+COMMENT ON COLUMN "tenant_capacity"."usage" IS '使用量';
+COMMENT ON COLUMN "tenant_capacity"."max_size" IS '单个配置大小上限,单位为字节,0表示使用默认值';
+COMMENT ON COLUMN "tenant_capacity"."max_aggr_count" IS '聚合子配置最大个数';
+COMMENT ON COLUMN "tenant_capacity"."max_aggr_size" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
+COMMENT ON COLUMN "tenant_capacity"."max_history_count" IS '最大变更历史数量';
+COMMENT ON COLUMN "tenant_capacity"."gmt_create" IS '创建时间';
+COMMENT ON COLUMN "tenant_capacity"."gmt_modified" IS '修改时间';
+COMMENT ON TABLE "tenant_capacity" IS '租户容量信息表';
+
+-- ----------------------------
+-- Table structure for tenant_info
+-- ----------------------------
+DROP TABLE IF EXISTS "tenant_info";
+CREATE TABLE "tenant_info" (
+ "id" int8 NOT NULL DEFAULT nextval('tenant_info_id_seq'::regclass),
+ "kp" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
+ "tenant_id" varchar(128) COLLATE "pg_catalog"."default",
+ "tenant_name" varchar(128) COLLATE "pg_catalog"."default",
+ "tenant_desc" varchar(256) COLLATE "pg_catalog"."default",
+ "create_source" varchar(32) COLLATE "pg_catalog"."default",
+ "gmt_create" int8 NOT NULL,
+ "gmt_modified" int8 NOT NULL
+)
+;
+COMMENT ON COLUMN "tenant_info"."id" IS 'id';
+COMMENT ON COLUMN "tenant_info"."kp" IS 'kp';
+COMMENT ON COLUMN "tenant_info"."tenant_id" IS 'tenant_id';
+COMMENT ON COLUMN "tenant_info"."tenant_name" IS 'tenant_name';
+COMMENT ON COLUMN "tenant_info"."tenant_desc" IS 'tenant_desc';
+COMMENT ON COLUMN "tenant_info"."create_source" IS 'create_source';
+COMMENT ON COLUMN "tenant_info"."gmt_create" IS '创建时间';
+COMMENT ON COLUMN "tenant_info"."gmt_modified" IS '修改时间';
+COMMENT ON TABLE "tenant_info" IS 'tenant_info';
+
+-- ----------------------------
+-- Table structure for users
+-- ----------------------------
+DROP TABLE IF EXISTS "users";
+CREATE TABLE "users" (
+ "username" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
+ "password" varchar(500) COLLATE "pg_catalog"."default" NOT NULL,
+ "enabled" bool NOT NULL
+)
+;
+COMMENT ON COLUMN "users"."username" IS 'username';
+COMMENT ON COLUMN "users"."password" IS 'password';
+COMMENT ON COLUMN "users"."enabled" IS 'enabled';
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "config_info_aggr_id_seq"
+ OWNED BY "config_info_aggr"."id";
+SELECT setval('"config_info_aggr_id_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "config_info_beta_id_seq"
+ OWNED BY "config_info_beta"."id";
+SELECT setval('"config_info_beta_id_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "config_info_id_seq"
+ OWNED BY "config_info"."id";
+SELECT setval('"config_info_id_seq"', 85, true);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "config_info_tag_id_seq"
+ OWNED BY "config_info_tag"."id";
+SELECT setval('"config_info_tag_id_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "config_tags_relation_id_seq"
+ OWNED BY "config_tags_relation"."id";
+SELECT setval('"config_tags_relation_id_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "config_tags_relation_nid_seq"
+ OWNED BY "config_tags_relation"."nid";
+SELECT setval('"config_tags_relation_nid_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "group_capacity_id_seq"
+ OWNED BY "group_capacity"."id";
+SELECT setval('"group_capacity_id_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "his_config_info_nid_seq"
+ OWNED BY "his_config_info"."nid";
+SELECT setval('"his_config_info_nid_seq"', 123, true);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "tenant_capacity_id_seq"
+ OWNED BY "tenant_capacity"."id";
+SELECT setval('"tenant_capacity_id_seq"', 1, false);
+
+-- ----------------------------
+-- Alter sequences owned by
+-- ----------------------------
+ALTER SEQUENCE "tenant_info_id_seq"
+ OWNED BY "tenant_info"."id";
+SELECT setval('"tenant_info_id_seq"', 2, true);
+
+-- ----------------------------
+-- Indexes structure for table config_info
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_configinfo_datagrouptenant" ON "config_info" USING btree (
+ "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table config_info
+-- ----------------------------
+ALTER TABLE "config_info" ADD CONSTRAINT "config_info_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Indexes structure for table config_info_aggr
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_configinfoaggr_datagrouptenantdatum" ON "config_info_aggr" USING btree (
+ "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "datum_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table config_info_aggr
+-- ----------------------------
+ALTER TABLE "config_info_aggr" ADD CONSTRAINT "config_info_aggr_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Indexes structure for table config_info_beta
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_configinfobeta_datagrouptenant" ON "config_info_beta" USING btree (
+ "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table config_info_beta
+-- ----------------------------
+ALTER TABLE "config_info_beta" ADD CONSTRAINT "config_info_beta_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Indexes structure for table config_info_tag
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_configinfotag_datagrouptenanttag" ON "config_info_tag" USING btree (
+ "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tag_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table config_info_tag
+-- ----------------------------
+ALTER TABLE "config_info_tag" ADD CONSTRAINT "config_info_tag_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Indexes structure for table config_tags_relation
+-- ----------------------------
+CREATE INDEX "idx_tenant_id" ON "config_tags_relation" USING btree (
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+CREATE UNIQUE INDEX "uk_configtagrelation_configidtag" ON "config_tags_relation" USING btree (
+ "id" "pg_catalog"."int8_ops" ASC NULLS LAST,
+ "tag_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tag_type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table config_tags_relation
+-- ----------------------------
+ALTER TABLE "config_tags_relation" ADD CONSTRAINT "config_tags_relation_pkey" PRIMARY KEY ("nid");
+
+-- ----------------------------
+-- Indexes structure for table group_capacity
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_group_id" ON "group_capacity" USING btree (
+ "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table group_capacity
+-- ----------------------------
+ALTER TABLE "group_capacity" ADD CONSTRAINT "group_capacity_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Indexes structure for table his_config_info
+-- ----------------------------
+CREATE INDEX "idx_did" ON "his_config_info" USING btree (
+ "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+CREATE INDEX "idx_gmt_create" ON "his_config_info" USING btree (
+ "gmt_create" "pg_catalog"."timestamp_ops" ASC NULLS LAST
+ );
+CREATE INDEX "idx_gmt_modified" ON "his_config_info" USING btree (
+ "gmt_modified" "pg_catalog"."timestamp_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table his_config_info
+-- ----------------------------
+ALTER TABLE "his_config_info" ADD CONSTRAINT "his_config_info_pkey" PRIMARY KEY ("nid");
+
+-- ----------------------------
+-- Indexes structure for table permissions
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_role_permission" ON "permissions" USING btree (
+ "role" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "resource" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "action" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Indexes structure for table roles
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_username_role" ON "roles" USING btree (
+ "username" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "role" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Indexes structure for table tenant_capacity
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_tenant_id" ON "tenant_capacity" USING btree (
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table tenant_capacity
+-- ----------------------------
+ALTER TABLE "tenant_capacity" ADD CONSTRAINT "tenant_capacity_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Indexes structure for table tenant_info
+-- ----------------------------
+CREATE UNIQUE INDEX "uk_tenant_info_kptenantid" ON "tenant_info" USING btree (
+ "kp" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+ );
+
+-- ----------------------------
+-- Primary Key structure for table users
+-- ----------------------------
+ALTER TABLE "users" ADD CONSTRAINT "users_pkey" PRIMARY KEY ("username");
\ No newline at end of file
diff --git a/dependencies/pom.xml b/dependencies/pom.xml
index 748b03ed..b3b8f709 100644
--- a/dependencies/pom.xml
+++ b/dependencies/pom.xml
@@ -28,7 +28,7 @@