diff --git a/apollo-common/pom.xml b/apollo-common/pom.xml
index b061f7e002deb01c5c4b7074bdd62ff876c4fead..8235ebb4cf9ca99b5577e1174b5a277d0fe3af7c 100644
--- a/apollo-common/pom.xml
+++ b/apollo-common/pom.xml
@@ -62,6 +62,14 @@
com.mysql
mysql-connector-j
+
+ cn.com.kingbase
+ kingbase8-mysql
+
+
+ cn.com.kingbase
+ KesDialect-for-hibernate4
+
org.postgresql
postgresql
diff --git a/pom.xml b/pom.xml
index 9ba3eec7e10a29ea6e3e91196e4cd12f7414808b..073b39b53e3d60033dd09efe808c4bd45a18b08e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,7 @@
2.5.0-SNAPSHOT
1.8
UTF-8
- 2.5.0-SNAPSHOT
+ 2.4.0
2.7.11
2021.0.5
@@ -79,6 +79,8 @@
1.4.0
8.2.0
+ 9.0.0
+ 2.0.1
42.7.2
3.3.0
@@ -190,6 +192,16 @@
postgresql
${postgre.version}
+
+ cn.com.kingbase
+ kingbase8-mysql
+ ${kingbase.version}
+
+
+ cn.com.kingbase
+ KesDialect-for-hibernate4
+ ${kingbase.dialect.hibernate.version}
+
com.google.inject
guice
diff --git a/scripts/sql/profiles/kingbase-default/ApolloConfigDB-kingbase.sql b/scripts/sql/profiles/kingbase-default/ApolloConfigDB-kingbase.sql
new file mode 100644
index 0000000000000000000000000000000000000000..099a23e2609e1da10c32f9f3774a02bd51d243f8
--- /dev/null
+++ b/scripts/sql/profiles/kingbase-default/ApolloConfigDB-kingbase.sql
@@ -0,0 +1,540 @@
+--
+-- Copyright 2024 Apollo Authors
+--
+-- 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.
+--
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- ===============================================================================
+-- == ==
+-- == Generated from 'scripts/sql/src/' ==
+-- == by running 'mvn compile -pl apollo-build-sql-converter -Psql-converter'. ==
+-- == DO NOT EDIT !!! ==
+-- == ==
+-- ===============================================================================
+--
+--
+-- create schema and use it
+-- CREATE SCHEMA IF NOT EXISTS ApolloConfigDB;
+
+SET search_path TO public;
+
+-- Dump of table app
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `App`;
+
+CREATE TABLE `App` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',
+ `OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',
+ `OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',
+ `OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',
+ `OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_Name` (`Name`(191))
+) COMMENT='应用表';
+
+
+
+-- Dump of table appnamespace
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AppNamespace`;
+
+CREATE TABLE `AppNamespace` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace名字,注意,需要全局唯一',
+ `AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',
+ `Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'namespace的format类型',
+ `IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'namespace是否为公共',
+ `Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '注释',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),
+ KEY `Name_AppId` (`Name`,`AppId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='应用namespace定义';
+
+
+
+-- Dump of table audit
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Audit`;
+
+CREATE TABLE `Audit` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `EntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',
+ `EntityId` int(10) unsigned DEFAULT NULL COMMENT '记录ID',
+ `OpName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',
+ `Comment` varchar(500) DEFAULT NULL COMMENT '备注',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='日志审计表';
+
+
+
+-- Dump of table cluster
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Cluster`;
+
+CREATE TABLE `Cluster` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `Name` varchar(32) NOT NULL DEFAULT '' COMMENT '集群名字',
+ `AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'App id',
+ `ParentClusterId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父cluster',
+ `Comment` varchar(64) DEFAULT NULL COMMENT '备注',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),
+ KEY `IX_ParentClusterId` (`ParentClusterId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='集群';
+
+
+
+-- Dump of table commit
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Commit`;
+
+CREATE TABLE `Commit` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `ChangeSets` longtext NOT NULL COMMENT '修改变更集',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
+ `NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',
+ `Comment` varchar(500) DEFAULT NULL COMMENT '备注',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `AppId` (`AppId`),
+ KEY `ClusterName` (`ClusterName`),
+ KEY `NamespaceName` (`NamespaceName`)
+) COMMENT='commit 历史表';
+
+-- Dump of table grayreleaserule
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `GrayReleaseRule`;
+
+CREATE TABLE `GrayReleaseRule` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',
+ `NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',
+ `BranchName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'branch name',
+ `Rules` varchar(16000) DEFAULT '[]' COMMENT '灰度规则',
+ `ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '灰度对应的release',
+ `BranchStatus` tinyint(2) DEFAULT '1' COMMENT '灰度分支状态: 0:删除分支,1:正在使用的规则 2:全量发布',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`)
+) COMMENT='灰度规则表';
+
+
+-- Dump of table instance
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Instance`;
+
+CREATE TABLE `Instance` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
+ `DataCenter` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Data Center Name',
+ `Ip` varchar(32) NOT NULL DEFAULT '' COMMENT 'instance ip',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `IX_UNIQUE_KEY` (`AppId`,`ClusterName`,`Ip`,`DataCenter`),
+ KEY `IX_IP` (`Ip`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='使用配置的应用实例';
+
+
+
+-- Dump of table instanceconfig
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `InstanceConfig`;
+
+CREATE TABLE `InstanceConfig` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `InstanceId` int(11) unsigned DEFAULT NULL COMMENT 'Instance Id',
+ `ConfigAppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Config App Id',
+ `ConfigClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Config Cluster Name',
+ `ConfigNamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Config Namespace Name',
+ `ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT '发布的Key',
+ `ReleaseDeliveryTime` timestamp NULL DEFAULT NULL COMMENT '配置获取时间',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `IX_UNIQUE_KEY` (`InstanceId`,`ConfigAppId`,`ConfigNamespaceName`),
+ KEY `IX_ReleaseKey` (`ReleaseKey`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_Valid_Namespace` (`ConfigAppId`,`ConfigClusterName`,`ConfigNamespaceName`,`DataChange_LastTime`)
+) COMMENT='应用实例的配置信息';
+
+
+
+-- Dump of table item
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Item`;
+
+CREATE TABLE `Item` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '集群NamespaceId',
+ `Key` varchar(128) NOT NULL DEFAULT 'default' COMMENT '配置项Key',
+ `Type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '配置项类型,0: String,1: Number,2: Boolean,3: JSON',
+ `Value` longtext NOT NULL COMMENT '配置项值',
+ `Comment` varchar(1024) DEFAULT '' COMMENT '注释',
+ `LineNum` int(10) unsigned DEFAULT '0' COMMENT '行号',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_GroupId` (`NamespaceId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='配置项目';
+
+
+
+-- Dump of table namespace
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Namespace`;
+
+CREATE TABLE `Namespace` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',
+ `NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_ClusterName_NamespaceName_DeletedAt` (`AppId`,`ClusterName`,`NamespaceName`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_NamespaceName` (`NamespaceName`)
+) COMMENT='命名空间';
+
+
+
+-- Dump of table namespacelock
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `NamespaceLock`;
+
+CREATE TABLE `NamespaceLock` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
+ `NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '集群NamespaceId',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ `IsDeleted` bit(1) DEFAULT b'0' COMMENT '软删除',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_NamespaceId_DeletedAt` (`NamespaceId`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='namespace的编辑锁';
+
+
+
+-- Dump of table release
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Release`;
+
+CREATE TABLE `Release` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT '发布的Key',
+ `Name` varchar(64) NOT NULL DEFAULT 'default' COMMENT '发布名字',
+ `Comment` varchar(256) DEFAULT NULL COMMENT '发布说明',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
+ `NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',
+ `Configurations` longtext NOT NULL COMMENT '发布配置',
+ `IsAbandoned` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否废弃',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_ReleaseKey_DeletedAt` (`ReleaseKey`,`DeletedAt`),
+ KEY `AppId_ClusterName_GroupName` (`AppId`,`ClusterName`,`NamespaceName`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='发布';
+
+
+-- Dump of table releasehistory
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ReleaseHistory`;
+
+CREATE TABLE `ReleaseHistory` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
+ `NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',
+ `BranchName` varchar(32) NOT NULL DEFAULT 'default' COMMENT '发布分支名',
+ `ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '关联的Release Id',
+ `PreviousReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '前一次发布的ReleaseId',
+ `Operation` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '发布类型,0: 普通发布,1: 回滚,2: 灰度发布,3: 灰度规则更新,4: 灰度合并回主分支发布,5: 主分支发布灰度自动发布,6: 主分支回滚灰度自动发布,7: 放弃灰度',
+ `OperationContext` longtext NOT NULL COMMENT '发布上下文信息',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`,`BranchName`),
+ KEY `IX_ReleaseId` (`ReleaseId`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_PreviousReleaseId` (`PreviousReleaseId`)
+) COMMENT='发布历史';
+
+
+-- Dump of table releasemessage
+-- ------------------------------------------------------------
+DROP TABLE IF EXISTS `ReleaseMessage`;
+
+CREATE TABLE `ReleaseMessage` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `Message` varchar(1024) NOT NULL DEFAULT '' COMMENT '发布的消息内容',
+ `DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_Message` (`Message`(191))
+) COMMENT='发布消息';
+
+-- Dump of table serverconfig
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ServerConfig`;
+
+CREATE TABLE `ServerConfig` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT '配置项Key',
+ `Cluster` varchar(32) NOT NULL DEFAULT 'default' COMMENT '配置对应的集群,default为不针对特定的集群',
+ `Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT '配置项值',
+ `Comment` varchar(1024) DEFAULT '' COMMENT '注释',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_Key_Cluster_DeletedAt` (`Key`,`Cluster`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='配置服务自身配置';
+
+-- Dump of table accesskey
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AccessKey`;
+
+CREATE TABLE `AccessKey` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `Secret` varchar(128) NOT NULL DEFAULT '' COMMENT 'Secret',
+ `Mode` smallint NOT NULL DEFAULT '0' COMMENT '密钥模式,0: filter,1: observer',
+ `IsEnabled` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: enabled, 0: disabled',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_Secret_DeletedAt` (`AppId`,`Secret`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='访问密钥';
+
+
+-- Dump of table serviceregistry
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ServiceRegistry`;
+
+CREATE TABLE `ServiceRegistry` (
+ `Id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `ServiceName` VARCHAR(64) NOT NULL COMMENT '服务名',
+ `Uri` VARCHAR(64) NOT NULL COMMENT '服务地址',
+ `Cluster` VARCHAR(64) NOT NULL COMMENT '集群,可以用来标识apollo.cluster或者网络分区',
+ `Metadata` VARCHAR(1024) NOT NULL DEFAULT '{}' COMMENT '元数据,key value结构的json object,为了方面后面扩展功能而不需要修改表结构',
+ `DataChange_CreatedTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE INDEX `IX_UNIQUE_KEY` (`ServiceName`, `Uri`),
+ INDEX `IX_DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='注册中心';
+
+-- Dump of table AuditLog
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AuditLog`;
+
+CREATE TABLE `AuditLog` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `TraceId` varchar(32) NOT NULL DEFAULT '' COMMENT '链路全局唯一ID',
+ `SpanId` varchar(32) NOT NULL DEFAULT '' COMMENT '跨度ID',
+ `ParentSpanId` varchar(32) DEFAULT NULL COMMENT '父跨度ID',
+ `FollowsFromSpanId` varchar(32) DEFAULT NULL COMMENT '上一个兄弟跨度ID',
+ `Operator` varchar(64) NOT NULL DEFAULT 'anonymous' COMMENT '操作人',
+ `OpType` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',
+ `OpName` varchar(150) NOT NULL DEFAULT 'default' COMMENT '操作名称',
+ `Description` varchar(200) DEFAULT NULL COMMENT '备注',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_TraceId` (`TraceId`),
+ KEY `IX_OpName` (`OpName`),
+ KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
+ KEY `IX_Operator` (`Operator`)
+) COMMENT='审计日志表';
+
+-- Dump of table AuditLogDataInfluence
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AuditLogDataInfluence`;
+
+CREATE TABLE `AuditLogDataInfluence` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `SpanId` char(32) NOT NULL DEFAULT '' COMMENT '跨度ID',
+ `InfluenceEntityId` varchar(50) NOT NULL DEFAULT '0' COMMENT '记录ID',
+ `InfluenceEntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',
+ `FieldName` varchar(50) DEFAULT NULL COMMENT '字段名称',
+ `FieldOldValue` varchar(500) DEFAULT NULL COMMENT '字段旧值',
+ `FieldNewValue` varchar(500) DEFAULT NULL COMMENT '字段新值',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_SpanId` (`SpanId`),
+ KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
+ KEY `IX_EntityId` (`InfluenceEntityId`)
+) COMMENT='审计日志数据变动表';
+
+-- Config
+-- ------------------------------------------------------------
+INSERT INTO `ServerConfig` (`Key`, `Cluster`, `Value`, `Comment`)
+VALUES
+ ('eureka.service.url', 'default', 'http://localhost:8080/eureka/', 'Eureka服务Url,多个service以英文逗号分隔'),
+ ('namespace.lock.switch', 'default', 'false', '一次发布只能有一个人修改开关'),
+ ('item.key.length.limit', 'default', '128', 'item key 最大长度限制'),
+ ('item.value.length.limit', 'default', '20000', 'item value最大长度限制'),
+ ('config-service.cache.enabled', 'default', 'false', 'ConfigService是否开启缓存,开启后能提高性能,但是会增大内存消耗!');
+
+-- Now function
+CREATE OR REPLACE FUNCTION sys.now(int)
+RETURNS DATETIME
+AS $$
+ BEGIN
+ IF $1 = 1 THEN
+ RETURN CURRENT_TIMESTAMP(1);
+ ELSIF $1 = 2 THEN
+ RETURN CURRENT_TIMESTAMP(2);
+ ELSIF $1 = 3 THEN
+ RETURN CURRENT_TIMESTAMP(3);
+ ELSIF $1 = 4 THEN
+ RETURN CURRENT_TIMESTAMP(4);
+ ELSIF $1 = 5 THEN
+ RETURN CURRENT_TIMESTAMP(5);
+ ELSIF $1 = 6 THEN
+ RETURN CURRENT_TIMESTAMP(6);
+ END IF;
+ END;
+$$ LANGUAGE PLPGSQL STABLE PARALLEL SAFE;
+
+
+
+--
+-- ===============================================================================
+-- == ==
+-- == Generated from 'scripts/sql/src/' ==
+-- == by running 'mvn compile -pl apollo-build-sql-converter -Psql-converter'. ==
+-- == DO NOT EDIT !!! ==
+-- == ==
+-- ===============================================================================
+
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/scripts/sql/profiles/kingbase-default/ApolloPortalDB-kingbase.sql b/scripts/sql/profiles/kingbase-default/ApolloPortalDB-kingbase.sql
new file mode 100644
index 0000000000000000000000000000000000000000..df2c18f88a466fa17321ed5a554516d0a9ecf191
--- /dev/null
+++ b/scripts/sql/profiles/kingbase-default/ApolloPortalDB-kingbase.sql
@@ -0,0 +1,486 @@
+--
+-- Copyright 2024 Apollo Authors
+--
+-- 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.
+--
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- ===============================================================================
+-- == ==
+-- == Generated from 'scripts/sql/src/' ==
+-- == by running 'mvn compile -pl apollo-build-sql-converter -Psql-converter'. ==
+-- == DO NOT EDIT !!! ==
+-- == ==
+-- ===============================================================================
+--
+--
+-- create schema and use it
+-- CREATE SCHEMA IF NOT EXISTS ApolloPortalDB;
+
+SET search_path TO public;
+
+-- Dump of table app
+-- ------------------------------------------------------------
+DROP TABLE IF EXISTS `App`;
+
+CREATE TABLE `App` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',
+ `OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',
+ `OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',
+ `OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',
+ `OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_Name` (`Name`(191))
+) COMMENT='应用表';
+
+
+
+-- Dump of table appnamespace
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AppNamespace`;
+
+CREATE TABLE `AppNamespace` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace名字,注意,需要全局唯一',
+ `AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',
+ `Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'namespace的format类型',
+ `IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'namespace是否为公共',
+ `Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '注释',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),
+ KEY `Name_AppId` (`Name`,`AppId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='应用namespace定义';
+
+
+
+-- Dump of table consumer
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Consumer`;
+
+CREATE TABLE `Consumer` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',
+ `OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',
+ `OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',
+ `OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',
+ `OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='开放API消费者';
+
+
+
+-- Dump of table consumeraudit
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ConsumerAudit`;
+
+CREATE TABLE `ConsumerAudit` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',
+ `Uri` varchar(1024) NOT NULL DEFAULT '' COMMENT '访问的Uri',
+ `Method` varchar(16) NOT NULL DEFAULT '' COMMENT '访问的Method',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_ConsumerId` (`ConsumerId`)
+) COMMENT='consumer审计表';
+
+
+
+-- Dump of table consumerrole
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ConsumerRole`;
+
+CREATE TABLE `ConsumerRole` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',
+ `RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_ConsumerId_RoleId_DeletedAt` (`ConsumerId`,`RoleId`,`DeletedAt`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_RoleId` (`RoleId`)
+) COMMENT='consumer和role的绑定表';
+
+
+
+-- Dump of table consumertoken
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ConsumerToken`;
+
+CREATE TABLE `ConsumerToken` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'ConsumerId',
+ `Token` varchar(128) NOT NULL DEFAULT '' COMMENT 'token',
+ `RateLimit` int NOT NULL DEFAULT '0' COMMENT '限流值',
+ `Expires` datetime NOT NULL DEFAULT '2099-01-01 00:00:00' COMMENT 'token失效时间',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_Token_DeletedAt` (`Token`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='consumer token表';
+
+-- Dump of table favorite
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Favorite`;
+
+CREATE TABLE `Favorite` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `UserId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '收藏的用户',
+ `AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `Position` int(32) NOT NULL DEFAULT '10000' COMMENT '收藏顺序',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_UserId_AppId_DeletedAt` (`UserId`,`AppId`,`DeletedAt`),
+ KEY `AppId` (`AppId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='应用收藏表' AUTO_INCREMENT=23;
+
+-- Dump of table permission
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Permission`;
+
+CREATE TABLE `Permission` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `PermissionType` varchar(32) NOT NULL DEFAULT '' COMMENT '权限类型',
+ `TargetId` varchar(256) NOT NULL DEFAULT '' COMMENT '权限对象类型',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_TargetId_PermissionType_DeletedAt` (`TargetId`,`PermissionType`,`DeletedAt`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='permission表';
+
+
+
+-- Dump of table role
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Role`;
+
+CREATE TABLE `Role` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `RoleName` varchar(256) NOT NULL DEFAULT '' COMMENT 'Role name',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_RoleName_DeletedAt` (`RoleName`,`DeletedAt`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='角色表';
+
+
+
+-- Dump of table rolepermission
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `RolePermission`;
+
+CREATE TABLE `RolePermission` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',
+ `PermissionId` int(10) unsigned DEFAULT NULL COMMENT 'Permission Id',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_RoleId_PermissionId_DeletedAt` (`RoleId`,`PermissionId`,`DeletedAt`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_PermissionId` (`PermissionId`)
+) COMMENT='角色和权限的绑定表';
+
+
+
+-- Dump of table serverconfig
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ServerConfig`;
+
+CREATE TABLE `ServerConfig` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT '配置项Key',
+ `Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT '配置项值',
+ `Comment` varchar(1024) DEFAULT '' COMMENT '注释',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_Key_DeletedAt` (`Key`,`DeletedAt`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) COMMENT='配置服务自身配置';
+
+
+
+-- Dump of table userrole
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `UserRole`;
+
+CREATE TABLE `UserRole` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `UserId` varchar(128) DEFAULT '' COMMENT '用户身份标识',
+ `RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_UserId_RoleId_DeletedAt` (`UserId`,`RoleId`,`DeletedAt`),
+ KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_RoleId` (`RoleId`)
+) COMMENT='用户和role的绑定表';
+
+-- Dump of table Users
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Users`;
+
+CREATE TABLE `Users` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `Username` varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户登录账户',
+ `Password` varchar(512) NOT NULL DEFAULT 'default' COMMENT '密码',
+ `UserDisplayName` varchar(512) NOT NULL DEFAULT 'default' COMMENT '用户名称',
+ `Email` varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱地址',
+ `Enabled` tinyint(4) DEFAULT NULL COMMENT '是否有效',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `UK_Username` (`Username`)
+) COMMENT='用户表';
+
+
+-- Dump of table Authorities
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Authorities`;
+
+CREATE TABLE `Authorities` (
+ `Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',
+ `Username` varchar(64) NOT NULL,
+ `Authority` varchar(50) NOT NULL,
+ PRIMARY KEY (`Id`)
+);
+
+-- spring session (https://github.com/spring-projects/spring-session/blob/faee8f1bdb8822a5653a81eba838dddf224d92d6/spring-session-jdbc/src/main/resources/org/springframework/session/jdbc/schema-mysql.sql)
+-- Dump of table SPRING_SESSION
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `SPRING_SESSION`;
+
+CREATE TABLE `SPRING_SESSION` (
+ `PRIMARY_ID` char(36) NOT NULL,
+ `SESSION_ID` char(36) NOT NULL,
+ `CREATION_TIME` bigint NOT NULL,
+ `LAST_ACCESS_TIME` bigint NOT NULL,
+ `MAX_INACTIVE_INTERVAL` int NOT NULL,
+ `EXPIRY_TIME` bigint NOT NULL,
+ `PRINCIPAL_NAME` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`PRIMARY_ID`),
+ UNIQUE KEY `SPRING_SESSION_IX1` (`SESSION_ID`),
+ KEY `SPRING_SESSION_IX2` (`EXPIRY_TIME`),
+ KEY `SPRING_SESSION_IX3` (`PRINCIPAL_NAME`)
+);
+
+-- Dump of table SPRING_SESSION_ATTRIBUTES
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `SPRING_SESSION_ATTRIBUTES`;
+
+CREATE TABLE `SPRING_SESSION_ATTRIBUTES` (
+ `SESSION_PRIMARY_ID` char(36) NOT NULL,
+ `ATTRIBUTE_NAME` varchar(200) NOT NULL,
+ `ATTRIBUTE_BYTES` blob NOT NULL,
+ PRIMARY KEY (`SESSION_PRIMARY_ID`,`ATTRIBUTE_NAME`),
+ CONSTRAINT `SPRING_SESSION_ATTRIBUTES_FK` FOREIGN KEY (`SESSION_PRIMARY_ID`) REFERENCES `SPRING_SESSION` (`PRIMARY_ID`) ON DELETE CASCADE
+);
+
+-- Dump of table AuditLog
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AuditLog`;
+
+CREATE TABLE `AuditLog` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `TraceId` varchar(32) NOT NULL DEFAULT '' COMMENT '链路全局唯一ID',
+ `SpanId` varchar(32) NOT NULL DEFAULT '' COMMENT '跨度ID',
+ `ParentSpanId` varchar(32) DEFAULT NULL COMMENT '父跨度ID',
+ `FollowsFromSpanId` varchar(32) DEFAULT NULL COMMENT '上一个兄弟跨度ID',
+ `Operator` varchar(64) NOT NULL DEFAULT 'anonymous' COMMENT '操作人',
+ `OpType` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',
+ `OpName` varchar(150) NOT NULL DEFAULT 'default' COMMENT '操作名称',
+ `Description` varchar(200) DEFAULT NULL COMMENT '备注',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_TraceId` (`TraceId`),
+ KEY `IX_OpName` (`OpName`),
+ KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
+ KEY `IX_Operator` (`Operator`)
+) COMMENT='审计日志表';
+
+-- Dump of table AuditLogDataInfluence
+-- ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `AuditLogDataInfluence`;
+
+CREATE TABLE `AuditLogDataInfluence` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `SpanId` char(32) NOT NULL DEFAULT '' COMMENT '跨度ID',
+ `InfluenceEntityId` varchar(50) NOT NULL DEFAULT '0' COMMENT '记录ID',
+ `InfluenceEntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',
+ `FieldName` varchar(50) DEFAULT NULL COMMENT '字段名称',
+ `FieldOldValue` varchar(500) DEFAULT NULL COMMENT '字段旧值',
+ `FieldNewValue` varchar(500) DEFAULT NULL COMMENT '字段新值',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',
+ `DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_SpanId` (`SpanId`),
+ KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
+ KEY `IX_EntityId` (`InfluenceEntityId`)
+) COMMENT='审计日志数据变动表';
+
+-- Config
+-- ------------------------------------------------------------
+INSERT INTO `ServerConfig` (`Key`, `Value`, `Comment`)
+VALUES
+ ('apollo.portal.envs', 'dev', '可支持的环境列表'),
+ ('organizations', '[{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"}]', '部门列表'),
+ ('superAdmin', 'apollo', 'Portal超级管理员'),
+ ('api.readTimeout', '10000', 'http接口read timeout'),
+ ('consumer.token.salt', 'someSalt', 'consumer token salt'),
+ ('admin.createPrivateNamespace.switch', 'true', '是否允许项目管理员创建私有namespace'),
+ ('configView.memberOnly.envs', 'pro', '只对项目成员显示配置信息的环境列表,多个env以英文逗号分隔'),
+ ('apollo.portal.meta.servers', '{}', '各环境Meta Service列表');
+
+
+INSERT INTO `Users` (`Username`, `Password`, `UserDisplayName`, `Email`, `Enabled`)
+VALUES
+ ('apollo', '$2a$10$7r20uS.BQ9uBpf3Baj3uQOZvMVvB1RN3PYoKE94gtz2.WAOuiiwXS', 'apollo', 'apollo@acme.com', 1);
+
+INSERT INTO `Authorities` (`Username`, `Authority`) VALUES ('apollo', 'ROLE_user');
+
+
+
+-- Now function
+CREATE OR REPLACE FUNCTION sys.now(int)
+RETURNS DATETIME
+AS $$
+ BEGIN
+ IF $1 = 1 THEN
+ RETURN CURRENT_TIMESTAMP(1);
+ ELSIF $1 = 2 THEN
+ RETURN CURRENT_TIMESTAMP(2);
+ ELSIF $1 = 3 THEN
+ RETURN CURRENT_TIMESTAMP(3);
+ ELSIF $1 = 4 THEN
+ RETURN CURRENT_TIMESTAMP(4);
+ ELSIF $1 = 5 THEN
+ RETURN CURRENT_TIMESTAMP(5);
+ ELSIF $1 = 6 THEN
+ RETURN CURRENT_TIMESTAMP(6);
+ END IF;
+ END;
+$$ LANGUAGE PLPGSQL STABLE PARALLEL SAFE;
+
+
+--
+-- ===============================================================================
+-- == ==
+-- == Generated from 'scripts/sql/src/' ==
+-- == by running 'mvn compile -pl apollo-build-sql-converter -Psql-converter'. ==
+-- == DO NOT EDIT !!! ==
+-- == ==
+-- ===============================================================================
+
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/scripts/sql/profiles/kingbase-default/initDB.sh b/scripts/sql/profiles/kingbase-default/initDB.sh
new file mode 100644
index 0000000000000000000000000000000000000000..1e6016fdf8be4e64b85c57dc20e2ed78eb790727
--- /dev/null
+++ b/scripts/sql/profiles/kingbase-default/initDB.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# 定义变量
+CONFIG_DB_NAME="ApolloConfigDB"
+PORTAL_DB_NAME="ApolloPortalDB"
+TEMPLATE_DB="kingbase"
+USER="system"
+PASSWORD="123456"
+
+ksql "port=54321 dbname=$TEMPLATE_DB user=$USER password=$PASSWORD" -c "DROP DATABASE IF EXISTS $CONFIG_DB_NAME;"
+ksql "port=54321 dbname=$TEMPLATE_DB user=$USER password=$PASSWORD" -c "CREATE DATABASE $CONFIG_DB_NAME ENCODING='UTF8';"
+ksql "port=54321 dbname=$CONFIG_DB_NAME user=$USER password=$PASSWORD " -v ON_ERROR_STOP=on -f $CONFIG_DB_NAME-kingbase.sql
+
+
+ksql "port=54321 dbname=$TEMPLATE_DB user=$USER password=$PASSWORD" -c "DROP DATABASE IF EXISTS $PORTAL_DB_NAME;"
+ksql "port=54321 dbname=$TEMPLATE_DB user=$USER password=$PASSWORD" -c "CREATE DATABASE $PORTAL_DB_NAME ENCODING='UTF8';"
+ksql "port=54321 dbname=$PORTAL_DB_NAME user=$USER password=$PASSWORD" -v ON_ERROR_STOP=on -f $PORTAL_DB_NAME-kingbase.sql
+
+
diff --git "a/scripts/\346\236\204\345\273\272&\350\277\220\350\241\214\350\257\264\346\230\216.txt" "b/scripts/\346\236\204\345\273\272&\350\277\220\350\241\214\350\257\264\346\230\216.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..d2e0ca2e604eb999798d0dae8c5f5686481fc546
--- /dev/null
+++ "b/scripts/\346\236\204\345\273\272&\350\277\220\350\241\214\350\257\264\346\230\216.txt"
@@ -0,0 +1,47 @@
+---- 源码构建
+1、下载代码
+2、修改scripts/build.sh
+19--35行,视各自环境,配置连接kingbase的ip、端口、用户名、密码
+3、运行 build.sh
+4、在以下位置分别获取文件,并解压至各自运行环境:
+apollo-configservice/target/apollo-adminservice-2.5.0-SNAPSHOT-github.zip
+apollo-adminservice/target/apollo-adminservice-2.5.0-SNAPSHOT-github.zip
+apollo-portal/target/apollo-portal-2.5.0-SNAPSHOT-github.zip
+
+-- 至此,完成构建
+
+-- 配置文件说明
+spring.profiles.group.github = mysql
+该配置激活的配置文件为apollo-common/src/main/resources/application-mysql.properties
+指定该分组会激活该配置文件,可以在该配置文件中添加数据库的连接信息
+也可以创建新配置文件,如apollo-common/src/main/resources/application-postgre.properties
+指定配置为spring.profiles.group.github = postgre,此时激活的配置文件为新建配置文件。
+
+-- 环境部署
+1、数据库初始化
+已安装kingbase的环境如果可执行ksql命令:
+到代码路径/scripts/sql/profiles/kingbase-default/下,运行initDB.sh 或 依次执行命令:(可能需要root用户执行)
+ksql "port=54321 dbname=kingbase user=system password=123456" -c "DROP DATABASE IF EXISTS ApolloConfigDB;"
+ksql "port=54321 dbname=kingbase user=system password=123456" -c "CREATE DATABASE ApolloConfigDB ENCODING='UTF8';"
+ksql "port=54321 dbname=ApolloConfigDB user=system password=123456 " -v ON_ERROR_STOP=on -f ApolloConfigDB-kingbase.sql
+ksql "port=54321 dbname=kingbase user=system password=123456" -c "DROP DATABASE IF EXISTS ApolloPortalDB;"
+ksql "port=54321 dbname=kingbase user=system password=123456" -c "CREATE DATABASE ApolloPortalDB ENCODING='UTF8';"
+ksql "port=54321 dbname=ApolloPortalDB user=system password=123456 " -v ON_ERROR_STOP=on -f ApolloPortalDB-kingbase.sql
+
+或者使用其他客户端,将ApolloConfigDB-kingbase.sql和ApolloPortalDB-kingbase.sql两个sql文件的内容在kingbase中执行
+
+验证:运行完成后,在kingbase中 \l 查看数据库,有ApolloConfigDB 和 ApolloPortalDB 两个数据库。
+
+2、将构建第4步获取的压缩文件解压,每个解压后的文件夹中都有config/application-github.properties
+可修改连接kingbase的ip、端口、用户名、密码
+
+3、每个解压后的文件夹中都有scripts/startup.sh启动脚本,scripts/shutdown.sh 停止脚本。
+运行启动脚本前,视各自环境配置,可修改:
+19行LOG_DIR,日志输出路径,默认/opt/logs,注意权限
+21行SERVER_PORT,服务端口,默认端口portal8070/config8080/admin8090
+29行JAVA_OPTS,java运行内存配置,默认最小1G最大各不相同
+
+4、按顺序运行apollo-configservice、apollo-adminservice、apollo-portal 的启动脚本startup.sh
+如果报日志没有权限,用当前用户先创建日志路径或切换root用户;如果报没有curl,则安装
+
+-- 至此环境运行完成,可进行使用。
\ No newline at end of file