Note: Mysql needs to be installed by yourself. This tutorial only provides the installation and deployment of apollo.
Pull the mirror
docker pull apolloconfig/apollo-portal
docker pull apolloconfig/apollo-configservice
docker pull apolloconfig/apollo-adminservice
Configure and start the Apollo service
Create a database
ApolloConfigDB
CREATE DATABASE `ApolloConfigDB`
-- ------------------------------------------------ ------------
CREATE TABLE `App` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'application name',
`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Department Id',
`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Department name',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Name` (`Name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Application table';
CREATE TABLE `AppNamespace` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace name, note that it requires global uniqueness',
`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',
`Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'format type of namespace',
`IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'Is namespace public',
`Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),
KEY `Name_AppId` (`Name`,`AppId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Apply namespace definition';
CREATE TABLE `Audit` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`EntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT 'table name',
`EntityId` int(10) unsigned DEFAULT NULL COMMENT 'Record ID',
`OpName` varchar(50) NOT NULL DEFAULT 'default' COMMENT 'Operation type',
`Comment` varchar(500) DEFAULT NULL COMMENT 'Remarks',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Log Audit Table';
CREATE TABLE `Cluster` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'cluster name',
`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'App id',
`ParentClusterId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'parent cluster',
`Comment` varchar(64) DEFAULT NULL COMMENT 'Remarks',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),
KEY `IX_ParentClusterId` (`ParentClusterId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Cluster';
CREATE TABLE `Commit` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`ChangeSets` longtext NOT NULL COMMENT 'ChangeSets',
`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 'Remarks',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `AppId` (`AppId`),
KEY `ClusterName` (`ClusterName`),
KEY `NamespaceName` (`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='commit History Table';
CREATE TABLE `GrayReleaseRule` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`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 'Grayscale Rules',
`ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'release corresponding to grayscale',
`BranchStatus` tinyint(2) DEFAULT '1' COMMENT 'Grayscale branch status: 0: Delete branch, 1: Rule in use 2: Full release',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Grayscale Rule Table';
CREATE TABLE `Instance` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase 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 'Created time',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `IX_UNIQUE_KEY` (`AppId`,`ClusterName`,`Ip`,`DataCenter`),
KEY `IX_IP` (`Ip`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Using configuration application instance';
CREATE TABLE `InstanceConfig` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase 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 'Published Key',
`ReleaseDeliveryTime` timestamp NULL DEFAULT NULL COMMENT 'Configure Get Time',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Configuration information of the application instance';
CREATE TABLE `Item` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Cluster NamespaceId',
`Key` varchar(128) NOT NULL DEFAULT 'default' COMMENT 'Configuration Item Key',
`Type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'Configuration item type, 0: String, 1: Number, 2: Boolean, 3: JSON',
`Value` longtext NOT NULL COMMENT 'Configuration item value',
`Comment` varchar(1024) DEFAULT '' COMMENT 'Comment',
`LineNum` int(10) unsigned DEFAULT '0' COMMENT 'Line number',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_GroupId` (`NamespaceId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Configuration Project';
CREATE TABLE `Namespace` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_ClusterName_NamespaceName_DeletedAt` (`AppId`,`ClusterName`,`NamespaceName`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_NamespaceName` (`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='namespace';
CREATE TABLE `NamespaceLock` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase id',
`NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Cluster NamespaceId',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
`IsDeleted` bit(1) DEFAULT b'0' COMMENT 'soft delete',
`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on million seconds',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_NamespaceId_DeletedAt` (`NamespaceId`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='namespace' edit lock';
CREATE TABLE `Release` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT 'Published Key',
`Name` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Publish name',
`Comment` varchar(256) DEFAULT NULL COMMENT 'Publish Note',
`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 'Publish configuration',
`IsAbandoned` bit(1) NOT NULL DEFAULT b'0' COMMENT 'Is it abandoned',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_ReleaseKey_DeletedAt` (`ReleaseKey`,`DeletedAt`),
KEY `AppId_ClusterName_GroupName` (`AppId`,`ClusterName`,`NamespaceName`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Publish';
CREATE TABLE `ReleaseHistory` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase 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 'Publish branch name',
`ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Associated Release Id',
`PreviousReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Last released ReleaseId',
`Operation` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'Release type, 0: Normal release, 1: Rollback, 2: Grayscale release, 3: Grayscale rule update, 4: Grayscale merge back to the main branch Release, 5: The main branch releases grayscale automatically releases, 6: The main branch rolls back grayscale automatically releases, 7: Abandon grayscale',
`OperationContext` longtext NOT NULL COMMENT 'Publish context information',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`,`BranchName`),
KEY `IX_ReleaseId` (`ReleaseId`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_PreviousReleaseId` (`PreviousReleaseId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Publish History';
CREATE TABLE `ReleaseMessage` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`Message` varchar(1024) NOT NULL DEFAULT '' COMMENT 'Released Message Content',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Message` (`Message`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Publish Message';
CREATE TABLE `ServerConfig` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Configuration Item Key',
`Cluster` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Configure the corresponding cluster, default is not for a specific cluster',
`Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT 'Configuration item value',
`Comment` varchar(1024) DEFAULT '' COMMENT '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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_Key_Cluster_DeletedAt` (`Key`,`Cluster`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Configure the service' itself configuration';
CREATE TABLE `AccessKey` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Secret` varchar(128) NOT NULL DEFAULT '' COMMENT 'Secret',
`Mode` tinyint unsigned NOT NULL DEFAULT '0' COMMENT 'Key Mode, 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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_Secret_DeletedAt` (`AppId`,`Secret`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Access Key';
CREATE TABLE `ServiceRegistry` (
`Id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`ServiceName` VARCHAR(64) NOT NULL COMMENT 'Service Name',
`Uri` VARCHAR(64) NOT NULL COMMENT 'Service Address',
`Cluster` VARCHAR(64) NOT NULL COMMENT 'Cluster, can be used to identify or network partition',
`Metadata` VARCHAR(1024) NOT NULL DEFAULT '{}' COMMENT 'Metadata, json object of key value structure, in order to extend the function later, there is no need to modify the table structure',
`DataChange_CreatedTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE INDEX `IX_UNIQUE_KEY` (`ServiceName`, `Uri`),
INDEX `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Registration Center';
CREATE TABLE `AuditLog` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`TraceId` varchar(32) NOT NULL DEFAULT '' COMMENT 'Link global unique ID',
`SpanId` varchar(32) NOT NULL DEFAULT '' COMMENT 'span ID',
`ParentSpanId` varchar(32) DEFAULT NULL COMMENT 'Parent span ID',
`FromSpanId` varchar(32) DEFAULT NULL COMMENT 'Previous Brother Span ID',
`Operator` varchar(64) NOT NULL DEFAULT 'anonymous' COMMENT 'operator',
`OpType` varchar(50) NOT NULL DEFAULT 'default' COMMENT 'Operation type',
`OpName` varchar(150) NOT NULL DEFAULT 'default' COMMENT 'Operation name',
`Description` varchar(200) DEFAULT NULL COMMENT 'Remarks',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_TraceId` (`TraceId`),
KEY `IX_OpName` (`OpName`),
KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
KEY `IX_Operator` (`Operator`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Audit log table';
CREATE TABLE `AuditLogDataInfluence` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`SpanId` char(32) NOT NULL DEFAULT '' COMMENT 'span ID',
`InfluenceEntityId` varchar(50) NOT NULL DEFAULT '0' COMMENT 'Record ID',
`InfluenceEntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT 'table name',
`FieldName` varchar(50) DEFAULT NULL COMMENT 'Field Name',
`FieldOldValue` varchar(500) DEFAULT NULL COMMENT 'field old value',
`FieldNewValue` varchar(500) DEFAULT NULL COMMENT 'Field New Value',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_SpanId` (`SpanId`),
KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
KEY `IX_EntityId` (`InfluenceEntityId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Audit log data change table';
INSERT INTO `ServerConfig` (`Key`, `Cluster`, `Value`, `Comment`)
VALUES
('', 'default', 'http://localhost:8080/eureka/', 'Eureka service Url, multiple services are separated by English commas'),
('', 'default', 'false', 'Only one person can modify the switch at a time'),
('', 'default', '128', 'item key Maximum length limit'),
('', 'default', '20000', 'item value maximum length limit'),
('', 'default', 'false', 'Whether ConfigService is enabled to enable cache, it can improve performance after opening, but it will increase memory consumption!');
ApolloPortalDB
CREATE DATABASE `ApolloPortalDB`
CREATE TABLE `App` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'application name',
`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Department Id',
`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Department name',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_Name` (`Name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Application table';
CREATE TABLE `AppNamespace` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increment primary key',
`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace name, note that it requires global uniqueness',
`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',
`Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'format type of namespace',
`IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'Is namespace public',
`Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),
KEY `Name_AppId` (`Name`,`AppId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Apply namespace definition';
CREATE TABLE `Consumer` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'application name',
`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Department Id',
`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Department name',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Open API Consumer';
CREATE TABLE `ConsumerAudit` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',
`Uri` varchar(1024) NOT NULL DEFAULT '' COMMENT 'Uri accessed',
`Method` varchar(16) NOT NULL DEFAULT '' COMMENT 'Accessed Method',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_ConsumerId` (`ConsumerId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer audit form';
CREATE TABLE `ConsumerRole` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase 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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_ConsumerId_RoleId_DeletedAt` (`ConsumerId`,`RoleId`,`DeletedAt`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_RoleId` (`RoleId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Binding table of consumer and role';
CREATE TABLE `ConsumerToken` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'ConsumerId',
`Token` varchar(128) NOT NULL DEFAULT '' COMMENT 'token',
`RateLimit` int NOT NULL DEFAULT '0' COMMENT 'current limit value',
`Expires` datetime NOT NULL DEFAULT '2099-01-01 00:00:00' COMMENT 'token expiration time',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_Token_DeletedAt` (`Token`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer token table';
CREATE TABLE `Favorite` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`UserId` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Favorite user',
`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',
`Position` int(32) NOT NULL DEFAULT '10000' COMMENT 'Sort of Favorites',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_UserId_AppId_DeletedAt` (`UserId`,`AppId`,`DeletedAt`),
KEY `AppId` (`AppId`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COMMENT='Application Collection Table';
CREATE TABLE `Permission` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`PermissionType` varchar(32) NOT NULL DEFAULT '' COMMENT 'Permission Type',
`TargetId` varchar(256) NOT NULL DEFAULT '' COMMENT 'Permission object type',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_TargetId_PermissionType_DeletedAt` (`TargetId`,`PermissionType`,`DeletedAt`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='permission table';
CREATE TABLE `Role` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase 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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_RoleName_DeletedAt` (`RoleName`,`DeletedAt`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Role table';
CREATE TABLE `RolePermission` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase 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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_RoleId_PermissionId_DeletedAt` (`RoleId`,`PermissionId`,`DeletedAt`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_PermissionId` (`PermissionId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Binding table for roles and permissions';
CREATE TABLE `ServerConfig` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Configuration Item Key',
`Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT 'Configuration item value',
`Comment` varchar(1024) DEFAULT '' COMMENT '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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_Key_DeletedAt` (`Key`,`DeletedAt`),
KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Configure the service' itself configuration';
CREATE TABLE `UserRole` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`UserId` varchar(128) DEFAULT '' COMMENT 'User Identity',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_UserId_RoleId_DeletedAt` (`UserId`,`RoleId`,`DeletedAt`),
KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),
KEY `IX_RoleId` (`RoleId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Binding table for user and role';
-- Dump of table Users
-- ------------------------------------------------ ------------
CREATE TABLE `Users` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`Username` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'User login account',
`Password` varchar(512) NOT NULL DEFAULT 'default' COMMENT 'password',
`UserDisplayName` varchar(512) NOT NULL DEFAULT 'default' COMMENT 'User name',
`Email` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'email address',
`Enabled` tinyint(4) DEFAULT NULL COMMENT 'Is it valid',
PRIMARY KEY (`Id`),
UNIQUE KEY `UK_Username` (`Username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='User table';
CREATE TABLE `Authorities` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'self-increase Id',
`Username` varchar(64) NOT NULL,
`Authority` varchar(50) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
CREATE TABLE `AuditLog` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`TraceId` varchar(32) NOT NULL DEFAULT '' COMMENT 'Link global unique ID',
`SpanId` varchar(32) NOT NULL DEFAULT '' COMMENT 'span ID',
`ParentSpanId` varchar(32) DEFAULT NULL COMMENT 'Parent span ID',
`FromSpanId` varchar(32) DEFAULT NULL COMMENT 'Previous Brother Span ID',
`Operator` varchar(64) NOT NULL DEFAULT 'anonymous' COMMENT 'operator',
`OpType` varchar(50) NOT NULL DEFAULT 'default' COMMENT 'Operation type',
`OpName` varchar(150) NOT NULL DEFAULT 'default' COMMENT 'Operation name',
`Description` varchar(200) DEFAULT NULL COMMENT 'Remarks',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_TraceId` (`TraceId`),
KEY `IX_OpName` (`OpName`),
KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
KEY `IX_Operator` (`Operator`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Audit log table';
CREATE TABLE `AuditLogDataInfluence` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`SpanId` char(32) NOT NULL DEFAULT '' COMMENT 'span ID',
`InfluenceEntityId` varchar(50) NOT NULL DEFAULT '0' COMMENT 'Record ID',
`InfluenceEntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT 'table name',
`FieldName` varchar(50) DEFAULT NULL COMMENT 'Field Name',
`FieldOldValue` varchar(500) DEFAULT NULL COMMENT 'field old value',
`FieldNewValue` varchar(500) DEFAULT NULL COMMENT 'Field New Value',
`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 million seconds',
`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT 'Create mailbox prefix',
`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created time',
`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT 'Last Modified Email Prefix',
`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Last Modified Time',
PRIMARY KEY (`Id`),
KEY `IX_SpanId` (`SpanId`),
KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),
KEY `IX_EntityId` (`InfluenceEntityId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Audit log data change table';
INSERT INTO `ServerConfig` (`Key`, `Value`, `Comment`)
VALUES
('', 'dev', 'list of supported environments'),
('organizations', '[{"orgId":"TEST1","orgName":"Sample Department 1"},{"orgId":"TEST2","orgName":"Sample Department 2"}]' , 'Department List'),
('superAdmin', 'apollo', 'Portal Super Admin'),
('', '10000', 'http interface read timeout'),
('', 'someSalt', 'consumer token salt'),
('', 'true', 'Whether project administrators are allowed to create private namespace'),
('', 'pro', 'The environment list of configuration information is displayed only for project members, multiple envs are separated by English commas'),
('', '{}', 'Meta Service List for Each Environment');
INSERT INTO `Users` (`Username`, `Password`, `UserDisplayName`, `Email`, `Enabled`)
VALUES
('apollo', '$2a$10$7r20uS.', 'apollo', 'apollo@', 1);
INSERT INTO `Authorities` (`Username`, `Authority`) VALUES ('apollo', 'ROLE_user');
-- The user name and password inserted are user: apollo password: admin
-- Add environment in the ServerConfig field
-- eg:{"DEV":"http://1.1.1.1:8080","FAT":"","UAT":"","PRO":""}
create
version: '3'
services:
apollo-configservice:
image: apolloconfig/apollo-configservice
Ports:
- "8080:8080"
environment:
# jdbc mysql address
SPRING_DATASOURCE_URL: jdbc:mysql://117.72.17.16:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: password # Password needs to be replaced
network_mode: host
apollo-adminservice:
image: apolloconfig/apollo-adminservice
Ports:
- "8090:8090"
depends_on:
- apollo-configservice
environment:
# jdbc mysql address
SPRING_DATASOURCE_URL: jdbc:mysql://117.72.17.16:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: password # Password needs to be replaced
network_mode: host
apollo-portal:
image: apolloconfig/apollo-portal
Ports:
- "8070:8070"
depends_on:
- apollo-adminservice
environment:
# jdbc mysql address
SPRING_DATASOURCE_URL: jdbc:mysql://117.72.17.16:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: password # Password needs to be replaced
network_mode: host
Execute the docker command
# Install yaml
docker-compose -f up -d
# Uninstall yaml
docker-compose -f down
# Restart yaml
docker-compose -f restart
After installation, you need to wait a little while, don't be impatient, you can access the specified port after initialization is completed.