text: --
  -- Copyright 2021 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 */;
  
  # Create Database
  # ------------------------------------------------------------
  CREATE DATABASE IF NOT EXISTS ApolloPortalDB DEFAULT CHARACTER SET = utf8mb4;
  
  Use ApolloPortalDB;
  
  # Dump of table app
  # ------------------------------------------------------------
  
  DROP TABLE IF EXISTS `App`;
  
  CREATE TABLE `App` (
                         `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
                         `AppId` varchar(500) 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',
                         `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 `AppId` (`AppId`(191)),
                         KEY `DataChange_LastTime` (`DataChange_LastTime`),
                         KEY `IX_Name` (`Name`(191))
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                                  `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_AppId` (`AppId`),
                                  KEY `Name_AppId` (`Name`,`AppId`),
                                  KEY `DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(500) 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',
                              `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 `AppId` (`AppId`(191)),
                              KEY `DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                                  `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_DataChange_LastTime` (`DataChange_LastTime`),
                                  KEY `IX_RoleId` (`RoleId`),
                                  KEY `IX_ConsumerId_RoleId` (`ConsumerId`,`RoleId`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                                   `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',
                                   `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 `IX_Token` (`Token`),
                                   KEY `DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(500) 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',
                              `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 `AppId` (`AppId`(191)),
                              KEY `IX_UserId` (`UserId`),
                              KEY `DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COMMENT='应用收藏表';
  
  # 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',
                                `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_TargetId_PermissionType` (`TargetId`(191),`PermissionType`),
                                KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                          `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_RoleName` (`RoleName`(191)),
                          KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                                    `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_DataChange_LastTime` (`DataChange_LastTime`),
                                    KEY `IX_RoleId` (`RoleId`),
                                    KEY `IX_PermissionId` (`PermissionId`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                                  `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_Key` (`Key`),
                                  KEY `DataChange_LastTime` (`DataChange_LastTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
                              `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_DataChange_LastTime` (`DataChange_LastTime`),
                              KEY `IX_RoleId` (`RoleId`),
                              KEY `IX_UserId_RoleId` (`UserId`,`RoleId`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  
  
  # 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', 'dev', '只对项目成员显示配置信息的环境列表，多个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');
  
  # Sample Data
  # ------------------------------------------------------------
  INSERT INTO `App` (`AppId`, `Name`, `OrgId`, `OrgName`, `OwnerName`, `OwnerEmail`)
  VALUES
  	('SampleApp', 'Sample App', 'TEST1', '样例部门1', 'apollo', 'apollo@acme.com');
  
  INSERT INTO `AppNamespace` (`Name`, `AppId`, `Format`, `IsPublic`, `Comment`)
  VALUES
      ('application', 'SampleApp', 'properties', 0, 'default app namespace');
  
  INSERT INTO `Permission` (`Id`, `PermissionType`, `TargetId`)
  VALUES
      (1, 'CreateCluster', 'SampleApp'),
      (2, 'CreateNamespace', 'SampleApp'),
      (3, 'AssignRole', 'SampleApp'),
      (4, 'ModifyNamespace', 'SampleApp+application'),
      (5, 'ReleaseNamespace', 'SampleApp+application');
  
  INSERT INTO `Role` (`Id`, `RoleName`)
  VALUES
      (1, 'Master+SampleApp'),
      (2, 'ModifyNamespace+SampleApp+application'),
      (3, 'ReleaseNamespace+SampleApp+application');
  
  INSERT INTO `RolePermission` (`RoleId`, `PermissionId`)
  VALUES
      (1, 1),
      (1, 2),
      (1, 3),
      (2, 4),
      (3, 5);
  
  INSERT INTO `UserRole` (`UserId`, `RoleId`)
  VALUES
      ('apollo', 1),
      ('apollo', 2),
      ('apollo', 3);
  
  -- spring session (https://github.com/spring-projects/spring-session/blob/faee8f1bdb8822a5653a81eba838dddf224d92d6/spring-session-jdbc/src/main/resources/org/springframework/session/jdbc/schema-mysql.sql)
  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),
                                  CONSTRAINT SPRING_SESSION_PK PRIMARY KEY (PRIMARY_ID)
  ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
  
  CREATE UNIQUE INDEX SPRING_SESSION_IX1 ON SPRING_SESSION (SESSION_ID);
  CREATE INDEX SPRING_SESSION_IX2 ON SPRING_SESSION (EXPIRY_TIME);
  CREATE INDEX SPRING_SESSION_IX3 ON SPRING_SESSION (PRINCIPAL_NAME);
  
  CREATE TABLE SPRING_SESSION_ATTRIBUTES (
                                             SESSION_PRIMARY_ID CHAR(36) NOT NULL,
                                             ATTRIBUTE_NAME VARCHAR(200) NOT NULL,
                                             ATTRIBUTE_BYTES BLOB NOT NULL,
                                             CONSTRAINT SPRING_SESSION_ATTRIBUTES_PK 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 ROW_FORMAT=DYNAMIC;
  
  /*!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 */;