You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by il...@apache.org on 2019/07/23 11:12:44 UTC
[dubbo-samples] branch master updated: add apollo docker support
This is an automated email from the ASF dual-hosted git repository.
iluo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git
The following commit(s) were added to refs/heads/master by this push:
new 754e937 add apollo docker support
754e937 is described below
commit 754e937b1b0942d7a1dd76705daaf670854801fd
Author: Ian Luo <ia...@gmail.com>
AuthorDate: Tue Jul 23 19:10:13 2019 +0800
add apollo docker support
---
.../dubbo-samples-configcenter-apollo/README.md | 2 +-
.../dubbo-samples-configcenter-apollo/pom.xml | 398 ++++++++------------
.../dubbo/samples/configcenter/ApolloConsumer.java | 16 +-
.../dubbo/samples/configcenter/ApolloProvider.java | 10 +-
.../samples/configcenter/impl/DemoServiceImpl.java | 4 +-
.../src/main/resources/docker/docker-compose.yml | 34 ++
.../main/resources/docker/sql/apolloconfigdb.sql | 410 +++++++++++++++++++++
.../main/resources/docker/sql/apolloportaldb.sql | 367 ++++++++++++++++++
.../spring/configcenter-consumer.xml | 10 +-
.../spring/configcenter-provider.xml | 13 +-
10 files changed, 982 insertions(+), 282 deletions(-)
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/README.md b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/README.md
index 461eb00..6d29f30 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/README.md
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/README.md
@@ -1 +1 @@
-This sample uses the official demo provided by Apollo, visit [here](http://106.12.25.204:8070/config.html?#/appid=dubbo-configcenter-apollo) to see the detailed configurations.
+This sample uses the official demo provided by Apollo, visit [here](http://localhost:8070/config.html?#/appid=dubbo-configcenter-apollo) to see the detailed configurations.
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/pom.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/pom.xml
index 04143ab..7950944 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/pom.xml
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/pom.xml
@@ -29,308 +29,202 @@
<artifactId>dubbo-samples-configcenter-apollo</artifactId>
+
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <spring.version>4.3.16.RELEASE</spring.version>
<dubbo.version>2.7.3</dubbo.version>
- <dubbo.rpc.version>2.7.3</dubbo.rpc.version>
- <zookeeper.version>3.4.13</zookeeper.version>
- <curator.version>4.0.1</curator.version>
- <validation-api.version>1.1.0.Final</validation-api.version>
- <hibernate-validator.version>4.2.0.Final</hibernate-validator.version>
- <resteasy.version>3.0.19.Final</resteasy.version>
- <curator-client.version>4.0.1</curator-client.version>
- <swagger.version>1.5.19</swagger.version>
- <tomcat.version>7.0.88</tomcat.version>
- <servlet.version>3.0.1</servlet.version>
- <maven_checkstyle_version>3.0.0</maven_checkstyle_version>
- <apache-rat-plugin.version>0.12</apache-rat-plugin.version>
- <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
+ <spring.version>4.3.16.RELEASE</spring.version>
+ <junit.version>4.12</junit.version>
+ <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
+ <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version>
+ <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
+ <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
+ <image.name>${artifactId}:${dubbo.version}</image.name>
+ <java-image.name>openjdk:8</java-image.name>
+ <dubbo.port>20880</dubbo.port>
+ <zookeeper.port>2181</zookeeper.port>
+ <main-class>org.apache.dubbo.samples.configcenter.ApolloProvider</main-class>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-framework-bom</artifactId>
- <version>${spring.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <!-- Import dependency management from Spring Boot -->
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-dependencies</artifactId>
- <version>${spring-boot.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- <version>4.1.16.Final</version>
- </dependency>
- <dependency>
<groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-bom</artifactId>
+ <artifactId>dubbo-dependencies-bom</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo</artifactId>
- <version>${dubbo.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.thrift</groupId>
- <artifactId>libthrift</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-rpc-rest</artifactId>
- <version>${dubbo.rpc.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <version>${zookeeper.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <version>${curator.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>${validation-api.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>${hibernate-validator.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-client</artifactId>
- <version>${curator-client.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>${servlet.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-core</artifactId>
- <version>${tomcat.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-logging-juli</artifactId>
- <version>${tomcat.version}</version>
- </dependency>
- <!-- swagger -->
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>${swagger.version}</version>
- </dependency>
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-jaxrs</artifactId>
- <version>${swagger.version}</version>
- </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <exclusions>
- <exclusion>
- <groupId>io.netty</groupId>
- <artifactId>netty</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
+ <version>${dubbo.version}</version>
</dependency>
+
<dependency>
<groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-configcenter-zookeeper</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
+ <artifactId>dubbo-dependencies-zookeeper</artifactId>
+ <version>${dubbo.version}</version>
+ <type>pom</type>
</dependency>
+
<dependency>
<groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-configcenter-zookeeper</artifactId>
+ <artifactId>dubbo-configcenter-apollo</artifactId>
+ <version>${dubbo.version}</version>
</dependency>
+
<dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-metadata-report-api</artifactId>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
</dependency>
+
<dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-configcenter-apollo</artifactId>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
-
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <version>${spring-boot.version}</version>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.7.0</version>
- <configuration>
- <source>${source.level}</source>
- <target>${target.level}</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <version>${apache-rat-plugin.version}</version>
- <executions>
- <execution>
- <id>verify.rat</id>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- <configuration>
- <excludes>
- <exclude>**/*.versionsBackup</exclude>
- <exclude>**/.idea/</exclude>
- <exclude>**/*.iml</exclude>
- <exclude>**/*.txt</exclude>
- <exclude>**/*.load</exclude>
- <exclude>**/*.flex</exclude>
- <exclude>**/*.fc</exclude>
- <exclude>**/*.javascript</exclude>
- <exclude>**/*.properties</exclude>
- <exclude>**/*.thrift</exclude>
- <exclude>**/*.sh</exclude>
- <exclude>**/*.bat</exclude>
- <exclude>**/*.md</exclude>
- <exclude>.git/</exclude>
- <exclude>.gitignore</exclude>
- <!-- ASF jenkins box puts the Maven repo in our root directory. -->
- <exclude>.repository/</exclude>
- <exclude>**/.settings/*</exclude>
- <exclude>**/.classpath</exclude>
- <exclude>**/.project</exclude>
- <exclude>**/target/**</exclude>
- <exclude>**/*.log</exclude>
- <exclude>CODE_OF_CONDUCT.md</exclude>
- <exclude>.codecov.yml</exclude>
- <exclude>.travis.yml</exclude>
- <exclude>PULL_REQUEST_TEMPLATE.md</exclude>
- <exclude>CONTRIBUTING.md</exclude>
- <exclude>README.md</exclude>
- <exclude>**/codestyle/*</exclude>
- <exclude>**/resources/META-INF/**</exclude>
- <exclude>**/webapp/swagger/**</exclude>
- <exclude>**/org/apache/dubbo/samples/rpc/nativethrift/api/DemoService.java</exclude>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
<profiles>
<profile>
- <id>checkstyle</id>
- <activation>
- <jdk>[1.8,)</jdk>
- </activation>
+ <id>dubbo-integration-test-disable</id>
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <version>${maven_checkstyle_version}</version>
- <dependencies>
- <dependency>
- <groupId>com.puppycrawl.tools</groupId>
- <artifactId>checkstyle</artifactId>
- <version>8.9</version>
- </dependency>
- </dependencies>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-maven-address-plugin</artifactId>
+ <version>1.0-SNAPSHOT</version>
<executions>
<execution>
- <id>checkstyle-validation</id>
- <phase>validate</phase>
+ <goals>
+ <goal>local-address</goal>
+ </goals>
<configuration>
- <configLocation>../../codestyle/checkstyle.xml</configLocation>
- <suppressionsLocation>../../codestyle/checkstyle-suppressions.xml</suppressionsLocation>
- <encoding>UTF-8</encoding>
- <consoleOutput>true</consoleOutput>
- <failOnViolation>true</failOnViolation>
+ <localAddress>dubbo-local-address</localAddress>
</configuration>
+ <phase>initialize</phase>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>com.google.cloud.tools</groupId>
+ <artifactId>jib-maven-plugin</artifactId>
+ <version>${jib-maven-plugin.version}</version>
+ <configuration>
+ <from>
+ <image>${java-image.name}</image>
+ </from>
+ <to>
+ <image>${image.name}</image>
+ </to>
+ <container>
+ <mainClass>${main-class}</mainClass>
+ <ports>
+ <port>${dubbo.port}</port>
+ <port>${zookeeper.port}</port>
+ </ports>
+ <environment>
+ <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY>
+ </environment>
+ <jvmFlags>
+ <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag>
+ </jvmFlags>
+ </container>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>dockerBuild</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>${docker-maven-plugin.version}</version>
+ <configuration>
+ <images>
+ <image>
+ <name>${image.name}</name>
+ <run>
+ <ports>
+ <port>${dubbo.port}:${dubbo.port}</port>
+ <port>${zookeeper.port}:${zookeeper.port}</port>
+ </ports>
+ <wait>
+ <log>dubbo service started</log>
+ </wait>
+ </run>
+ </image>
+ </images>
+ </configuration>
+ <executions>
+ <execution>
+ <id>start</id>
+ <phase>pre-integration-test</phase>
<goals>
- <goal>check</goal>
+ <goal>start</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stop</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${maven-failsafe-plugin.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ <configuration>
+ <systemPropertyVariables>
+ <zookeeper.address>${dubbo-local-address}</zookeeper.address>
+ </systemPropertyVariables>
+ <includes>
+ <include>**/*IT.java</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</profile>
</profiles>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <configuration>
+ <source>${source.level}</source>
+ <target>${target.level}</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloConsumer.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloConsumer.java
index 3f15903..f020bef 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloConsumer.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloConsumer.java
@@ -26,20 +26,12 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ApolloConsumer {
public static void main(String[] args) {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/configcenter-consumer.xml"});
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"spring/configcenter-consumer.xml"});
context.start();
- DemoService demoService = (DemoService) context.getBean("demoService"); // get remote service proxy
+ DemoService demoService = context.getBean("demoService", DemoService.class);
- while (true) {
- try {
- Thread.sleep(1000);
- String hello = demoService.sayHello("world"); // call remote method
- System.out.println(hello); // get result
-
- } catch (Throwable throwable) {
- throwable.printStackTrace();
- }
- }
+ String hello = demoService.sayHello("world");
+ System.out.println(hello);
}
}
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloProvider.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloProvider.java
index 7f3b59e..eea7f15 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloProvider.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/ApolloProvider.java
@@ -21,15 +21,17 @@ package org.apache.dubbo.samples.configcenter;
import org.springframework.context.support.ClassPathXmlApplicationContext;
+import java.util.concurrent.CountDownLatch;
+
public class ApolloProvider {
public static void main(String[] args) throws Exception {
-// new EmbeddedZooKeeper(2181, false).start();
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/configcenter-provider.xml"});
- context.registerShutdownHook();
+ new EmbeddedZooKeeper(2181, false).start();
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"spring/configcenter-provider.xml"});
context.start();
- System.in.read(); // press any key to exit
+ System.out.println("dubbo service started");
+ new CountDownLatch(1).await();
}
}
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/impl/DemoServiceImpl.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/impl/DemoServiceImpl.java
index 5708a9f..83f0a5e 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/impl/DemoServiceImpl.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/java/org/apache/dubbo/samples/configcenter/impl/DemoServiceImpl.java
@@ -35,8 +35,8 @@ public class DemoServiceImpl implements DemoService {
} catch (InterruptedException e) {
e.printStackTrace();
}
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] Hello " + name + ", request from consumer: " + RpcContext
- .getContext().getRemoteAddress());
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] Hello " + name +
+ ", request from consumer: " + RpcContext.getContext().getRemoteAddress());
return "Hello " + name + ", response from provider: " + RpcContext.getContext().getLocalAddress();
}
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/docker-compose.yml b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/docker-compose.yml
new file mode 100644
index 0000000..fd975ba
--- /dev/null
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/docker-compose.yml
@@ -0,0 +1,34 @@
+version: '2'
+
+services:
+ apollo-quick-start:
+ image: nobodyiam/apollo-quick-start
+ container_name: apollo-quick-start
+ depends_on:
+ - apollo-db
+ ports:
+ - "8080:8080"
+ - "8070:8070"
+ links:
+ - apollo-db
+
+ apollo-db:
+ image: mysql:5.7
+ container_name: apollo-db
+ environment:
+ TZ: Asia/Shanghai
+ MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
+ depends_on:
+ - apollo-dbdata
+ ports:
+ - "13306:3306"
+ volumes:
+ - ./sql:/docker-entrypoint-initdb.d
+ volumes_from:
+ - apollo-dbdata
+
+ apollo-dbdata:
+ image: alpine:latest
+ container_name: apollo-dbdata
+ volumes:
+ - /var/lib/mysql
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/sql/apolloconfigdb.sql b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/sql/apolloconfigdb.sql
new file mode 100644
index 0000000..b1e8526
--- /dev/null
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/sql/apolloconfigdb.sql
@@ -0,0 +1,410 @@
+/*!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 ApolloConfigDB DEFAULT CHARACTER SET = utf8mb4;
+
+Use ApolloConfigDB;
+
+# 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) 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(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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 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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(32) NOT NULL DEFAULT '' COMMENT 'App id',
+ `ParentClusterId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父cluster',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `IX_AppId_Name` (`AppId`,`Name`),
+ KEY `IX_ParentClusterId` (`ParentClusterId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
+ `NamespaceName` varchar(500) 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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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`(191)),
+ KEY `ClusterName` (`ClusterName`(191)),
+ KEY `NamespaceName` (`NamespaceName`(191))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(32) 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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(32) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(32) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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',
+ `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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置项目';
+
+
+
+# Dump of table namespace
+# ------------------------------------------------------------
+
+DROP TABLE IF EXISTS `Namespace`;
+
+CREATE TABLE `Namespace` (
+ `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
+ `AppId` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',
+ `NamespaceName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',
+ `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `AppId_ClusterName_NamespaceName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_NamespaceName` (`NamespaceName`(191))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) DEFAULT 'default' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ `IsDeleted` bit(1) DEFAULT b'0' COMMENT '软删除',
+ PRIMARY KEY (`Id`),
+ UNIQUE KEY `IX_NamespaceId` (`NamespaceId`),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
+ `ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
+ `NamespaceName` varchar(500) 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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) DEFAULT '' COMMENT '最后修改人邮箱前缀',
+ `DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
+ PRIMARY KEY (`Id`),
+ KEY `AppId_ClusterName_GroupName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
+ KEY `DataChange_LastTime` (`DataChange_LastTime`),
+ KEY `IX_ReleaseKey` (`ReleaseKey`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(32) 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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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))
+) 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',
+ `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',
+ `DataChange_CreatedBy` varchar(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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='配置服务自身配置';
+
+# 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.value.length.limit', 'default', '20000', 'item value最大长度限制'),
+ ('config-service.cache.enabled', 'default', 'false', 'ConfigService是否开启缓存,开启后能提高性能,但是会增大内存消耗!'),
+ ('item.key.length.limit', 'default', '128', 'item key 最大长度限制');
+
+# 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 `Cluster` (`Name`, `AppId`)
+VALUES
+ ('default', 'SampleApp');
+
+INSERT INTO `Namespace` (`Id`, `AppId`, `ClusterName`, `NamespaceName`)
+VALUES
+ (1, 'SampleApp', 'default', 'application');
+
+
+INSERT INTO `Item` (`NamespaceId`, `Key`, `Value`, `Comment`, `LineNum`)
+VALUES
+ (1, 'timeout', '100', 'sample timeout配置', 1);
+
+INSERT INTO `Release` (`ReleaseKey`, `Name`, `Comment`, `AppId`, `ClusterName`, `NamespaceName`, `Configurations`)
+VALUES
+ ('20161009155425-d3a0749c6e20bc15', '20161009155424-release', 'Sample发布', 'SampleApp', 'default', 'application', '{\"timeout\":\"100\"}');
+
+INSERT INTO `ReleaseHistory` (`AppId`, `ClusterName`, `NamespaceName`, `BranchName`, `ReleaseId`, `PreviousReleaseId`, `Operation`, `OperationContext`, `DataChange_CreatedBy`, `DataChange_LastModifiedBy`)
+VALUES
+ ('SampleApp', 'default', 'application', 'default', 1, 0, 0, '{}', 'apollo', 'apollo');
+
+
+/*!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/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/sql/apolloportaldb.sql b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/sql/apolloportaldb.sql
new file mode 100644
index 0000000..544ed43
--- /dev/null
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/docker/sql/apolloportaldb.sql
@@ -0,0 +1,367 @@
+/*!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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) 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(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) NOT NULL DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(32) DEFAULT '' COMMENT '创建人邮箱前缀',
+ `DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `DataChange_LastModifiedBy` varchar(32) 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(64) 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以英文逗号分隔');
+
+INSERT INTO `Users` (`Username`, `Password`, `Email`, `Enabled`)
+VALUES
+ ('apollo', '$2a$10$7r20uS.BQ9uBpf3Baj3uQOZvMVvB1RN3PYoKE94gtz2.WAOuiiwXS', '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);
+
+/*!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/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/META-INF/spring/configcenter-consumer.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/spring/configcenter-consumer.xml
similarity index 80%
rename from dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/META-INF/spring/configcenter-consumer.xml
rename to dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/spring/configcenter-consumer.xml
index fd73e0d..92965eb 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/META-INF/spring/configcenter-consumer.xml
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/spring/configcenter-consumer.xml
@@ -20,15 +20,15 @@
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
- xmlns="http://www.springframework.org/schema/beans"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
+ http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+ <context:property-placeholder/>
- <!-- optional -->
<dubbo:application name="dubbo-configcenter-apollo-consumer"/>
- <dubbo:config-center highest-priority="false" protocol="apollo" address="106.12.25.204:8080"/>
+ <dubbo:config-center highest-priority="false" protocol="apollo" address="${apollo.address:localhost}:8080"/>
<dubbo:reference id="demoService" interface="org.apache.dubbo.samples.configcenter.api.DemoService"/>
-</beans>
\ No newline at end of file
+</beans>
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/META-INF/spring/configcenter-provider.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/spring/configcenter-provider.xml
similarity index 75%
rename from dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/META-INF/spring/configcenter-provider.xml
rename to dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/spring/configcenter-provider.xml
index 6ef8bf9..de2b0ea 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/META-INF/spring/configcenter-provider.xml
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo/src/main/resources/spring/configcenter-provider.xml
@@ -20,15 +20,16 @@
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
- xmlns="http://www.springframework.org/schema/beans"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
+ http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
+ <context:property-placeholder/>
- <!-- optional -->
- <dubbo:application name="dubbo-configcenter-apollo"/>
+ <dubbo:application name="dubbo-configcenter-apollo-provider"/>
- <dubbo:config-center address="apollo://106.12.25.204:8080"/>
+ <dubbo:config-center address="apollo://${apollo.address:localhost}:8080"/>
<bean id="demoService" class="org.apache.dubbo.samples.configcenter.impl.DemoServiceImpl"/>
+
<dubbo:service interface="org.apache.dubbo.samples.configcenter.api.DemoService" ref="demoService"/>
-</beans>
\ No newline at end of file
+</beans>
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org