diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..a66b8e2f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +application-local.yml +*.log + +rebel.xml +.flattened-pom.xml \ No newline at end of file diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 000000000..a033ae0c1 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,2 @@ +# 发布记录 + diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..54d7e9150 --- /dev/null +++ b/pom.xml @@ -0,0 +1,100 @@ + + + 4.0.0 + + + cn.axzo.infra + axzo-parent + 2.4.13.5 + + + cn.axzo + workflow-engine + pom + 1.0-SNAPSHOT + workflow-engine + + + 2.0.0-SNAPSHOT + 2.0.0-SNAPSHOT + 1.18.22 + 1.4.2.Final + + + + + + + cn.axzo.infra + axzo-bom + ${axzo-bom.version} + pom + import + + + cn.axzo.infra + axzo-dependencies + ${axzo-dependencies.version} + pom + import + + + + + + + + + org.projectlombok + lombok + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + junit + junit + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + ${lombok.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + + + + + + + + + axzo + axzo repository + https://nexus.axzo.cn/repository/axzo/ + + + workflow-engine-server + workflow-engine-api + + diff --git a/workflow-engine-api/pom.xml b/workflow-engine-api/pom.xml new file mode 100644 index 000000000..051eeeef4 --- /dev/null +++ b/workflow-engine-api/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + + + workflow-engine + cn.axzo + 1.0-SNAPSHOT + ../pom.xml + + + workflow-engine-api + jar + workflow-engine-api + + + + cn.axzo.framework + axzo-consumer-spring-cloud-starter + + + diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/MicroArchetypeClient.java b/workflow-engine-api/src/main/java/cn/axzo/client/MicroArchetypeClient.java new file mode 100644 index 000000000..88bbb849a --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/MicroArchetypeClient.java @@ -0,0 +1,57 @@ +package cn.axzo.client; + +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.framework.domain.page.PageResp; +import cn.axzo.framework.domain.web.ApiException; +import cn.axzo.framework.domain.web.result.ApiPageResult; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.client.feign.MicroArchetypeApi; +import cn.axzo.client.model.NewUserReq; +import cn.axzo.client.model.QueryUserReq; +import cn.axzo.client.model.UpdateUserReq; +import cn.axzo.client.model.UserRes; +import cn.azxo.framework.common.model.CommonResponse; +import lombok.RequiredArgsConstructor; + +import javax.validation.Valid; + +/** + * @Author: liyong.tian + * @Date: 2022/9/17 + * @Description: + */ +@RequiredArgsConstructor +public class MicroArchetypeClient { + + private final MicroArchetypeApi api; + + /** + * 老项目迁移使用 + */ + public UserRes createUser(@Valid NewUserReq req) { + CommonResponse apiResult = api.createUser(req); + if (apiResult.getCode() == 200) { + return apiResult.getData(); + } + throw new RuntimeException(apiResult.getMsg()); + } + + /** + * 新项目使用 + */ + public UserRes updateUser(Long id, @Valid UpdateUserReq req) { + ApiResult apiResult = api.updateUser(id, req); + if (apiResult.isSuccess()) { + return apiResult.getData(); + } + throw new ApiException(apiResult.getRespCode()); + } + + public PageResp fetchUsers(QueryUserReq req, PageQO page) { + ApiPageResult apiPageResult = api.fetchUsers(req.toQueryMap(), page); + if (apiPageResult.isSuccess()) { + return apiPageResult.toPage(); + } + throw new ApiException(apiPageResult.getRespCode()); + } +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/config/MicroArchetypeClientAutoConfiguration.java b/workflow-engine-api/src/main/java/cn/axzo/client/config/MicroArchetypeClientAutoConfiguration.java new file mode 100644 index 000000000..9f14695f7 --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/config/MicroArchetypeClientAutoConfiguration.java @@ -0,0 +1,30 @@ +package cn.axzo.client.config; + +import cn.axzo.client.feign.MicroArchetypeApi; +import cn.axzo.client.MicroArchetypeClient; +import cn.axzo.client.feign.MicroArchetypeFallbackFactory; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Author: liyong.tian + * @Date: 2022/9/17 + * @Description: + */ +@EnableFeignClients(basePackages = {"cn.axzo.client"}) +@Configuration +public class MicroArchetypeClientAutoConfiguration { + + @Bean + public MicroArchetypeFallbackFactory microArchetypeFallbackFactory() { + return new MicroArchetypeFallbackFactory(); + } + + @Bean + public MicroArchetypeClient microArchetypeClient(MicroArchetypeApi microArchetypeApi) { + return new MicroArchetypeClient(microArchetypeApi); + } + + +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeApi.java b/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeApi.java new file mode 100644 index 000000000..900d8d9aa --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeApi.java @@ -0,0 +1,34 @@ +package cn.axzo.client.feign; + +import cn.axzo.framework.context.client.QueryMap; +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.framework.domain.web.result.ApiPageResult; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.client.model.NewUserReq; +import cn.axzo.client.model.UpdateUserReq; +import cn.axzo.client.model.UserRes; +import cn.azxo.framework.common.model.CommonResponse; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; + +/** + * @Author: liyong.tian + * @Date: 2022/9/17 + * @Description: + */ +@FeignClient(name = "workflow-engine", url = "http://localhost:8899", fallbackFactory = MicroArchetypeFallbackFactory.class) +public interface MicroArchetypeApi { + + @PostMapping(value = "/api/v1/users", consumes = APPLICATION_JSON_VALUE) + CommonResponse createUser(@RequestBody NewUserReq req); + + @PutMapping(value = "/api/v2/users/{id}", consumes = APPLICATION_JSON_VALUE) + ApiResult updateUser(@PathVariable("id") Long id, @RequestBody UpdateUserReq req); + + @GetMapping(value = "/api/v2/users") + ApiPageResult fetchUsers(@RequestParam Map query, PageQO page); +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeApiFallback.java b/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeApiFallback.java new file mode 100644 index 000000000..28651542d --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeApiFallback.java @@ -0,0 +1,53 @@ +package cn.axzo.client.feign; + +import cn.axzo.framework.client.feign.FeignFallback; +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.framework.domain.web.result.ApiPageResult; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.framework.jackson.utility.JSON; +import cn.axzo.client.model.NewUserReq; +import cn.axzo.client.model.UpdateUserReq; +import cn.axzo.client.model.UserRes; +import cn.azxo.framework.common.model.CommonResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import java.util.Map; + +/** + * @Author: liyong.tian + * @Date: 2022/9/17 + * @Description: + */ +@Slf4j +@RequiredArgsConstructor +public class MicroArchetypeApiFallback implements MicroArchetypeApi { + + private final FeignFallback fallback; + + /** + * 老项目迁移使用 + * @param req + * @return + */ + @Override + public CommonResponse createUser(NewUserReq req) { + log.error("[workflow-engine-api] createUser fallback", fallback.getCause()); + return CommonResponse.error("创建用户失败"); + } + + /** + * 新项目推荐使用 + */ + @Override + public ApiResult updateUser(Long id, UpdateUserReq req) { + log.error("[workflow-engine-api] updateUser fallback", fallback.getCause()); + return fallback.resp(); + } + + @Override + public ApiPageResult fetchUsers(Map query, PageQO page) { + log.error("[workflow-engine-api] fetchUsers fallback", fallback.getCause()); + return fallback.pageResp(); + } +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeFallbackFactory.java b/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeFallbackFactory.java new file mode 100644 index 000000000..06ec4c74a --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/feign/MicroArchetypeFallbackFactory.java @@ -0,0 +1,19 @@ +package cn.axzo.client.feign; + +import cn.axzo.framework.client.feign.FeignFallback; +import cn.axzo.framework.domain.web.code.IRespCode; +import cn.axzo.framework.domain.web.code.RespCode; +import feign.hystrix.FallbackFactory; +import org.springframework.stereotype.Component; + +@Component +public class MicroArchetypeFallbackFactory implements FallbackFactory { + + // TODO: 2022/11/3 100-调整为具体的项目编号,XXX-调整为项目名 + private final IRespCode respCode = new RespCode("100" + "91001", "XXX服务不可用"); + + @Override + public MicroArchetypeApiFallback create(Throwable cause) { + return new MicroArchetypeApiFallback(new FeignFallback(cause, respCode)); + } +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/model/NewUserReq.java b/workflow-engine-api/src/main/java/cn/axzo/client/model/NewUserReq.java new file mode 100644 index 000000000..9a87b7492 --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/model/NewUserReq.java @@ -0,0 +1,29 @@ +package cn.axzo.client.model; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +@Data +public class NewUserReq { + + @NotBlank(message = "名称不能为空") + private String name; + + @NotNull + private Integer sex; + + private Integer age; + + private String phone; + + private String email; + + private String address; +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/model/QueryUserReq.java b/workflow-engine-api/src/main/java/cn/axzo/client/model/QueryUserReq.java new file mode 100644 index 000000000..8768dbd17 --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/model/QueryUserReq.java @@ -0,0 +1,22 @@ +package cn.axzo.client.model; + +import cn.axzo.framework.context.client.IQueryMap; +import cn.axzo.framework.context.client.QueryMap; +import lombok.Data; + +@Data +public class QueryUserReq implements IQueryMap { + + private Long id; + + private String name; + + private String phone; + + private String email; + + @Override + public void append(QueryMap.Builder builder) { + builder.put("id", id).put("name", name).put("phone", phone).put("email", email); + } +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/model/UpdateUserReq.java b/workflow-engine-api/src/main/java/cn/axzo/client/model/UpdateUserReq.java new file mode 100644 index 000000000..2aae9b18e --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/model/UpdateUserReq.java @@ -0,0 +1,19 @@ +package cn.axzo.client.model; + +import lombok.Data; + +@Data +public class UpdateUserReq { + + private String name; + + private Integer sex; + + private Integer age; + + private String phone; + + private String email; + + private String address; +} diff --git a/workflow-engine-api/src/main/java/cn/axzo/client/model/UserRes.java b/workflow-engine-api/src/main/java/cn/axzo/client/model/UserRes.java new file mode 100644 index 000000000..7f4d22a97 --- /dev/null +++ b/workflow-engine-api/src/main/java/cn/axzo/client/model/UserRes.java @@ -0,0 +1,21 @@ +package cn.axzo.client.model; + +import lombok.Data; + +@Data +public class UserRes { + + private Long id; + + private String name; + + private Integer sex; + + private Integer age; + + private String phone; + + private String email; + + private String address; +} diff --git a/workflow-engine-api/src/main/resources/META-INF/spring.factories b/workflow-engine-api/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..6be11f863 --- /dev/null +++ b/workflow-engine-api/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +cn.axzo.micro.archetype.client.config.MicroArchetypeClientAutoConfiguration \ No newline at end of file diff --git a/workflow-engine-api/src/test/java/cn/axzo/maven/archetype/client/AppTest.java b/workflow-engine-api/src/test/java/cn/axzo/maven/archetype/client/AppTest.java new file mode 100644 index 000000000..7d836fa05 --- /dev/null +++ b/workflow-engine-api/src/test/java/cn/axzo/maven/archetype/client/AppTest.java @@ -0,0 +1,14 @@ +package cn.axzo.maven.archetype.client; + +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Unit test for simple App. + */ +@RunWith(SpringRunner.class) +@SpringBootTest +public class AppTest { + +} diff --git a/workflow-engine-server/pom.xml b/workflow-engine-server/pom.xml new file mode 100644 index 000000000..de533e3e5 --- /dev/null +++ b/workflow-engine-server/pom.xml @@ -0,0 +1,54 @@ + + + + workflow-engine + cn.axzo + 1.0-SNAPSHOT + ../pom.xml + + 4.0.0 + + workflow-engine-server + jar + + workflow-engine-server + + + + cn.axzo.framework + axzo-web-spring-boot-starter + + + cn.axzo.framework + axzo-spring-cloud-starter + + + cn.axzo.framework + axzo-consumer-spring-cloud-starter + + + cn.axzo.framework + axzo-processor-spring-boot-starter + + + + cn.axzo.framework + axzo-mybatisplus-spring-boot-starter + + + + cn.axzo.framework + axzo-swagger-yapi-spring-boot-starter + + + + com.alibaba + druid-spring-boot-starter + + + + cn.axzo.framework + axzo-logger-spring-boot-starter + + + diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/Application.java b/workflow-engine-server/src/main/java/cn/axzo/server/Application.java new file mode 100644 index 000000000..da431346b --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/Application.java @@ -0,0 +1,13 @@ +package cn.axzo.server; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@MapperScan(value = {"cn.axzo.**.mapper"}) +@SpringBootApplication +public class Application { + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/common/enums/ErrorCode.java b/workflow-engine-server/src/main/java/cn/axzo/server/common/enums/ErrorCode.java new file mode 100644 index 000000000..dab5fcf08 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/common/enums/ErrorCode.java @@ -0,0 +1,27 @@ +package cn.axzo.server.common.enums; + +import cn.axzo.framework.domain.web.code.IProjectRespCode; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: 响应码规范:一共8位,取值范围0~9,3位项目编号(首位不能为0)+2位模块编号+3位自定义编号 + */ +@Getter +@AllArgsConstructor +public enum ErrorCode implements IProjectRespCode { + + USER_NOT_EXISTS("01001", "用户不存在,id=%s"), + USER_PHONE_EMAIL_IS_NULL("01002", "电话和邮箱不能都为空"); + + private String code; + private String message; + + @Override + public String getProjectCode() { + // 根据不同项目进行项目编码调整,可联系框架组获取项目编号(首位不能为0) + return "100"; + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/common/enums/ResultCode.java b/workflow-engine-server/src/main/java/cn/axzo/server/common/enums/ResultCode.java new file mode 100644 index 000000000..759b30be1 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/common/enums/ResultCode.java @@ -0,0 +1,88 @@ +package cn.axzo.server.common.enums; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +public enum ResultCode { + /** + * 成功 [GET] + */ + SUCCESS(200), + /** + * [POST/PUT/PATCH] 用户新建或修改数据成功 + */ + CREATED(201), + /** + * [*] 标识一个请求已经进入后台排队 (异步任务) + */ + ACCEPTED(202), + /** + * [DELETE]: 用户删除数据成功 + */ + NO_CONTENT(204), + /** + * [POST/PUT/PATCH] 用户发出的请求有错误, 服务器没有进行新建或修改数据的操作, 该操作是幂等的. + */ + FAIL(400), + /** + * [*] 标识没有权限 (令牌、用户名、密码错误) + */ + UNAUTHORIZED(401), + /** + * [*] 标识用户得到授权(与401错误相对), 但是访问是被禁止的 + */ + FORBIDDEN(403), + /** + * [*] 用户发出的请求针对的是不存在的记录, 服务器没有进行操作 + */ + NOT_FOUND(404), + /** + * [GET] 用户请求的格式不可得 (比如用户请求JSON格式, 但是只有XML格式) + */ + NOT_ACCEPTABLE(406), + /** + * [GET] 用户请求的资源被永久删除, 且不会再得到 + */ + GONE(410), + /** + * [POST/PUT/PATCH] 当创建一个对象时, 发生一个验证错误646 + */ + UNPROCESSABLE_ENTITY(422), + /** + * 服务器内部错误 + */ + INTERNAL_SERVER_ERROR(9999), + /** + * 通用业务异常 + */ + SERVICE_EXCEPTION_ERROR(9998), + + /** + * ####业务的响应码#### + * 按业务依次划分 : + * 一共6位, 第6位是业务代码 第1-5位响应码, 按业务不同码不同 + * #100000 全局级别 + */ + + /** + * 100001 当前用户被强制下线 + */ + CUSTOM_100001(100001), + /** + * 确认弹窗响应码 + */ + CUSTOM_100002(100002); + + public int code; + + ResultCode(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/common/util/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/common/util/package-info.java new file mode 100644 index 000000000..617ff9025 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/common/util/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.common.util; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/config/filter/HttpTraceLogFilter.java b/workflow-engine-server/src/main/java/cn/axzo/server/config/filter/HttpTraceLogFilter.java new file mode 100644 index 000000000..aea5e7de0 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/config/filter/HttpTraceLogFilter.java @@ -0,0 +1,259 @@ +package cn.axzo.server.config.filter; + +import cn.azxo.framework.common.constatns.Constants; +import cn.azxo.framework.common.utils.LogUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONException; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.annotation.JSONField; +import com.google.common.base.Strings; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.skywalking.apm.toolkit.trace.Trace; +import org.apache.skywalking.apm.toolkit.trace.TraceContext; +import org.slf4j.MDC; +import org.springframework.core.Ordered; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Component; +import org.springframework.web.filter.OncePerRequestFilter; +import org.springframework.web.util.ContentCachingRequestWrapper; +import org.springframework.web.util.ContentCachingResponseWrapper; +import org.springframework.web.util.WebUtils; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.*; + +/** + * @Author: liyong.tian + * @Date: 2022/12/6 14:48 + * @Description: Http接口日志记录 + */ +@Slf4j +@Component +public class HttpTraceLogFilter extends OncePerRequestFilter implements Ordered { + + private static final String X_REQUEST_ID = "x-request-id"; + + @Override + public int getOrder() { + return Ordered.LOWEST_PRECEDENCE - 10; + } + + @Override + @Trace(operationName = "HttpTraceLogFilter") + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, + FilterChain filterChain) throws ServletException, IOException { + String uri = request.getRequestURI(); + String contextPath = request.getContextPath(); + String url = uri.substring(contextPath.length()); + //swagger 跳过 + if (url.contains("api-docs") || url.contains("swagger") || url.contains("checkDeath")) { + filterChain.doFilter(request, response); + return; + } + //静态资源 跳过 + if (url.contains(".")) { + filterChain.doFilter(request, response); + return; + } + if (!(request instanceof ContentCachingRequestWrapper)) { + request = new ContentCachingRequestWrapper(request); + } + if (!(response instanceof ContentCachingResponseWrapper)) { + response = new ContentCachingResponseWrapper(response); + } + + String requestId = request.getHeader(X_REQUEST_ID); + if (Strings.isNullOrEmpty(requestId)) { + MDC.put(X_REQUEST_ID, getTraceId()); + } else { + MDC.put(X_REQUEST_ID, requestId); + } + String ctxLogId = request.getHeader(Constants.CTX_LOG_ID_MDC); + if (Strings.isNullOrEmpty(ctxLogId)) { + MDC.put(Constants.CTX_LOG_ID_MDC, getTraceId()); + } else { + MDC.put(Constants.CTX_LOG_ID_MDC, ctxLogId); + } + + // 获取请求参数 + String parameter = null; + String requestContentType = request.getHeader(HttpHeaders.CONTENT_TYPE); + if (requestContentType != null) { + if (requestContentType.startsWith(MediaType.APPLICATION_JSON_VALUE)) { + //Json + WrappedHttpServletRequest requestWrapper = new WrappedHttpServletRequest(request); + parameter = getRequestBody(requestWrapper); + request = requestWrapper; + } else if (requestContentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED_VALUE)) { + //普通表单提交 + parameter = JSON.toJSONString(request.getParameterMap()); + } else if (requestContentType.startsWith(MediaType.MULTIPART_FORM_DATA_VALUE)) { + //文件表单提交 + parameter = JSON.toJSONString("文件类型"); + } + } else if (url.startsWith("/api")) { + if ("GET".equals(request.getMethod())) { + parameter = JSON.toJSONString(request.getParameterMap()); + } else if ("POST".equals(request.getMethod())) { + WrappedHttpServletRequest requestWrapper = new WrappedHttpServletRequest(request); + parameter = getRequestBody(requestWrapper); + request = requestWrapper; + } + } else if ("GET".equals(request.getMethod())) { + parameter = JSON.toJSONString(request.getParameterMap()); + } + + long requestTime = System.currentTimeMillis(); + try { + filterChain.doFilter(request, response); + } finally { + response.setHeader(Constants.CTX_LOG_ID_MDC, MDC.get(Constants.CTX_LOG_ID_MDC)); + response.setHeader(X_REQUEST_ID, MDC.get(Constants.CTX_LOG_ID_MDC)); + + long latency = System.currentTimeMillis() - requestTime; + String responseBody = null; + int responseStatus = response.getStatus(); + String responseContentType = response.getContentType(); + //Json + if (responseContentType != null && responseContentType + .startsWith(MediaType.APPLICATION_JSON_VALUE)) { + responseBody = getResponseBody(response); + } + //记录日志 + HttpTraceLog traceLog = new HttpTraceLog(); + traceLog.setRequestContentType(requestContentType); + traceLog.setPath(url); + traceLog.setMethod(request.getMethod()); + traceLog.setTimeTaken(latency); + traceLog.setParameter(parameter); + traceLog.setResponseContentType(responseContentType); + traceLog.setStatus(responseStatus); + traceLog.setResponseBody(responseBody); + traceLog.setRequestHeaders(getRequestHeader(request)); + if (traceLog.getResponseCode() != null && traceLog.getResponseCode().equals(9999)) { + LogUtil.error(LogUtil.ErrorLevel.P0, LogUtil.ErrorType.ERROR_BUSINESS, JSON.toJSONString(traceLog)); + } else if (traceLog.getResponseCode() != null && traceLog.getResponseCode().equals(9998)) { + log.warn(JSON.toJSONString(traceLog)); + } else { + log.info(JSON.toJSONString(traceLog)); + } + updateResponse(response); + // 清理链路id + MDC.clear(); + } + } + + private String getTraceId() { + String contextTraceId = TraceContext.traceId(); + return Strings.isNullOrEmpty(contextTraceId) + ? UUID.randomUUID().toString().replaceAll("-", "") : contextTraceId; + } + + private String getRequestBody(WrappedHttpServletRequest request) throws IOException { + // 获取请求参数 + return request.getRequestParams(); + } + + @Trace(operationName = "HttpTraceLogFilter#getResponseBody") + private String getResponseBody(HttpServletResponse response) { + String responseBody = null; + ContentCachingResponseWrapper wrapper = WebUtils + .getNativeResponse(response, ContentCachingResponseWrapper.class); + if (wrapper != null) { + responseBody = new String(wrapper.getContentAsByteArray(), StandardCharsets.UTF_8); + } + return responseBody; + } + + public Map getRequestHeader(HttpServletRequest request) { + Map ret = new HashMap<>(); + Enumeration headerNames = request.getHeaderNames(); + while (headerNames.hasMoreElements()) { + String headerName = headerNames.nextElement(); + ret.put(headerName, request.getHeader(headerName)); + } + return ret; + } + + @Trace(operationName = "HttpTraceLogFilter#updateResponse") + private void updateResponse(HttpServletResponse response) throws IOException { + ContentCachingResponseWrapper responseWrapper = WebUtils + .getNativeResponse(response, ContentCachingResponseWrapper.class); + Objects.requireNonNull(responseWrapper).copyBodyToResponse(); + } + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + private static class HttpTraceLog { + + /** + * 路径 + */ + private String path; + /** + * 参数 + */ + @JSONField(jsonDirect = true) + private String parameter; + private String requestContentType; + private String responseContentType; + private String method; + private Long timeTaken; + private Integer status; + /** + * 业务Code + */ + private Integer responseCode;//业务返回码 + /** + * 响应参数 + */ + @JSONField(jsonDirect = true) + private String responseBody; + + @JSONField(jsonDirect = true) + private Map requestHeaders; + + public String getParameter() { + if (parameter == null) { + return parameter; + } else { + return parameter.replaceAll("\n", "").replaceAll("\t", "").replaceAll("\r", ""); + } + } + + public String getResponseBody() { + if (responseBody == null) { + return responseBody; + } else { + return responseBody.replaceAll("\n", "").replaceAll("\t", "").replaceAll("\r", ""); + } + } + + public void setResponseBody(String responseBody) { + if (StringUtils.isBlank(responseBody)) { + return; + } + this.responseBody = responseBody; + JSONObject responseJson = null; + try { + responseJson = JSONObject.parseObject(responseBody); + this.responseCode = responseJson.getInteger("code"); + } catch (JSONException e) { + log.debug("ResponseBody非JSON返回", e); + } + } + } +} \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/config/filter/WrappedHttpServletRequest.java b/workflow-engine-server/src/main/java/cn/axzo/server/config/filter/WrappedHttpServletRequest.java new file mode 100644 index 000000000..f492539a1 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/config/filter/WrappedHttpServletRequest.java @@ -0,0 +1,91 @@ +package cn.axzo.server.config.filter; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; + +import org.apache.commons.io.IOUtils; + +/** + * @Author: liyong.tian + * @Date: 2022/12/6 14:56 + * @Description: + */ +public class WrappedHttpServletRequest extends HttpServletRequestWrapper { + + private byte[] bytes; + private WrappedServletInputStream wrappedServletInputStream; + + public WrappedHttpServletRequest(HttpServletRequest request) throws IOException { + super(request); + // 读取输入流里的请求参数,并保存到bytes里 + bytes = IOUtils.toByteArray(request.getInputStream()); + ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); + this.wrappedServletInputStream = new WrappedServletInputStream(byteArrayInputStream); + // 很重要,把post参数重新写入请求流 + reWriteInputStream(); + } + + /** + * 把参数重新写进请求里 + */ + public void reWriteInputStream() { + wrappedServletInputStream + .setStream(new ByteArrayInputStream(bytes != null ? bytes : new byte[0])); + } + + @Override + public ServletInputStream getInputStream() throws IOException { + return wrappedServletInputStream; + } + + @Override + public BufferedReader getReader() throws IOException { + return new BufferedReader(new InputStreamReader(wrappedServletInputStream)); + } + + /** + * 获取post参数,可以自己再转为相应格式 + */ + public String getRequestParams() throws IOException { + return new String(bytes, this.getCharacterEncoding()); + } + + private class WrappedServletInputStream extends ServletInputStream { + + private InputStream stream; + + public WrappedServletInputStream(InputStream stream) { + this.stream = stream; + } + + public void setStream(InputStream stream) { + this.stream = stream; + } + + @Override + public int read() throws IOException { + return stream.read(); + } + + @Override + public boolean isFinished() { + return true; + } + + @Override + public boolean isReady() { + return true; + } + + @Override + public void setReadListener(ReadListener readListener) { + } + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/config/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/config/package-info.java new file mode 100644 index 000000000..6811b4170 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/config/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.config; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/consumer/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/consumer/package-info.java new file mode 100644 index 000000000..4f6ad4bc5 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/consumer/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.consumer; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/controller/HealthCheckController.java b/workflow-engine-server/src/main/java/cn/axzo/server/controller/HealthCheckController.java new file mode 100644 index 000000000..a8d340239 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/controller/HealthCheckController.java @@ -0,0 +1,22 @@ +package cn.axzo.server.controller; + +import cn.axzo.framework.web.http.ApiResponse; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: liyong.tian + * @Date: 2022/11/25 18:00 + * @Description: 健康检查接口 + */ +@RestController +public class HealthCheckController { + + /** + * 探活 + */ + @GetMapping("/checkDeath") + public ApiResponse checkDeath() { + return ApiResponse.ok("ok"); + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/controller/app/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/controller/app/package-info.java new file mode 100644 index 000000000..7aef0da0b --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/controller/app/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.controller.app; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/controller/web/UserController.java b/workflow-engine-server/src/main/java/cn/axzo/server/controller/web/UserController.java new file mode 100644 index 000000000..1cfaae519 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/controller/web/UserController.java @@ -0,0 +1,76 @@ +package cn.axzo.server.controller.web; + +import cn.axzo.server.service.user.UserService; +import cn.axzo.server.service.dto.request.user.NewUserDTO; +import cn.axzo.server.service.dto.request.user.UpdateUserDTO; +import cn.axzo.server.service.dto.request.user.UserQO; +import cn.axzo.server.service.dto.response.user.UserVO; +import cn.azxo.framework.common.model.CommonPageResponse; +import cn.azxo.framework.common.model.CommonResponse; +import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +@Slf4j +@Api(tags = "web-用户信息接口") +@ApiSupport(author = "田立勇") +@RequestMapping("/api/v1") +@RestController +@RequiredArgsConstructor +public class UserController { + + private final UserService userService; + + @ApiOperation(value = "创建用户") + @PostMapping("/users") + public CommonResponse createUser(@Valid @RequestBody NewUserDTO dto) { + log.info("REST request to save user : {}", dto); + // 校验入参 + dto.valid(); + UserVO result = userService.create(dto); + return CommonResponse.success(result); + } + + @ApiOperation(value = "修改用户") + @PutMapping("/users/{id}") + public CommonResponse updateUser(@ApiParam("用户ID") @PathVariable Long id, + @Valid @RequestBody UpdateUserDTO dto) { + log.info("REST request to update user : {}", dto); + // 校验入参 + dto.valid(); + UserVO result = userService.update(id, dto); + return CommonResponse.success(result); + } + + @ApiOperation("获取用户列表") + @GetMapping("/users") + public CommonResponse> getUsers(@Valid UserQO userQO) { + CommonPageResponse results = userService.queryByPage(userQO); + return CommonResponse.success(results); + } + + @ApiOperation("获取用户详情") + @GetMapping("/users/{id}") + public CommonResponse getUser(@ApiParam("用户ID") @PathVariable Long id) { + UserVO result = userService.getOne(id); + return CommonResponse.success(result); + } + + @ApiOperation("删除用户") + @DeleteMapping("/users/{id}") + public CommonResponse deleteUser(@ApiParam("用户ID") @PathVariable Long id) { + userService.delete(id); + return CommonResponse.success(); + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/controller/web/UserResource.java b/workflow-engine-server/src/main/java/cn/axzo/server/controller/web/UserResource.java new file mode 100644 index 000000000..8965fbc81 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/controller/web/UserResource.java @@ -0,0 +1,78 @@ +package cn.axzo.server.controller.web; + +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.framework.domain.page.PageResp; +import cn.axzo.framework.web.http.ApiResponse; +import cn.axzo.framework.web.http.ApiPageResponse; +import cn.axzo.server.service.dto.request.user.NewUserDTO; +import cn.axzo.server.service.dto.request.user.UpdateUserDTO; +import cn.axzo.server.service.dto.request.user.UserQO1; +import cn.axzo.server.service.dto.response.user.UserVO; +import cn.axzo.server.service.user.UserService; +import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @Author: liyong.tian + * @Date: 2022/10/28 + * @Description: 新项目搭建推荐方式 + */ +@Slf4j +@Api(tags = "web-用户信息接口") +@ApiSupport(author = "田立勇") +@RequestMapping("/api/v2") +@RestController +@RequiredArgsConstructor +public class UserResource { + + private final UserService userService; + + @ApiOperation(value = "创建用户") + @PostMapping("/users") + public ApiResponse createUser(@Valid @RequestBody NewUserDTO dto) { + log.info("REST request to save user : {}", dto); + // 校验入参 + dto.valid(); + UserVO result = userService.create(dto); + return ApiResponse.ok(result); + } + + @ApiOperation(value = "修改用户") + @PutMapping("/users/{id}") + public ApiResponse updateUser(@ApiParam("用户ID") @PathVariable Long id, + @Valid @RequestBody UpdateUserDTO dto) { + log.info("REST request to update user : {}", dto); + // 校验入参 + dto.valid(); + UserVO result = userService.update(id, dto); + return ApiResponse.ok(result); + } + + @ApiOperation("获取用户列表") + @GetMapping("/users") + public ApiPageResponse getUsers(@ModelAttribute UserQO1 userQo, PageQO page) { + PageResp results = userService.find(userQo, page); + return ApiPageResponse.ok(results); + } + + @ApiOperation("获取用户详情") + @GetMapping("/users/{id}") + public ApiResponse getUser(@ApiParam("用户ID") @PathVariable Long id) { + UserVO result = userService.getOne(id); + return ApiResponse.ok(result); + } + + @ApiOperation("删除用户") + @DeleteMapping("/users/{id}") + public ApiResponse deleteUser(@ApiParam("用户ID") @PathVariable Long id) { + userService.delete(id); + return ApiResponse.ok(); + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/job/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/job/package-info.java new file mode 100644 index 000000000..3c55ff9b7 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/job/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.job; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/repository/UserDao.java b/workflow-engine-server/src/main/java/cn/axzo/server/repository/UserDao.java new file mode 100644 index 000000000..8cc37ea34 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/repository/UserDao.java @@ -0,0 +1,55 @@ +package cn.axzo.server.repository; + +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.server.repository.mapper.UserMapper; +import cn.axzo.server.service.dto.request.user.UserQO; +import cn.axzo.server.service.dto.request.user.UserQO1; +import cn.axzo.server.repository.entity.user.User; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Repository; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +@Repository +@RequiredArgsConstructor +public class UserDao extends ServiceImpl { + + private final UserMapper userMapper; + + public User findById(Long id) { + return userMapper.selectById(id); + } + + public void delete(Long id) { + userMapper.deleteById(id); + } + + public IPage queryByPage(UserQO userQO) { + return userMapper.selectPage(userQO.toPage(), + Wrappers.lambdaQuery(User.class) + .eq(userQO.getId() != null, User::getId, userQO.getId()) + .like(StringUtils.isNotBlank(userQO.getName()), User::getName, userQO.getName()) + .like(StringUtils.isNotBlank(userQO.getPhone()), User::getPhone, userQO.getPhone()) + .like(StringUtils.isNotBlank(userQO.getEmail()), User::getEmail, userQO.getEmail()) + .orderByDesc(User::getCreateAt) + ); + } + + public IPage find(UserQO1 userQO, PageQO page) { + return userMapper.selectPage(page.toPage(), + Wrappers.lambdaQuery(User.class) + .eq(userQO.getId() != null, User::getId, userQO.getId()) + .like(StringUtils.isNotBlank(userQO.getName()), User::getName, userQO.getName()) + .like(StringUtils.isNotBlank(userQO.getPhone()), User::getPhone, userQO.getPhone()) + .like(StringUtils.isNotBlank(userQO.getEmail()), User::getEmail, userQO.getEmail()) + .orderByDesc(User::getCreateAt) + ); + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/repository/entity/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/repository/entity/package-info.java new file mode 100644 index 000000000..080ed3f8d --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/repository/entity/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.repository.entity; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/repository/entity/user/User.java b/workflow-engine-server/src/main/java/cn/axzo/server/repository/entity/user/User.java new file mode 100644 index 000000000..7d38f1d38 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/repository/entity/user/User.java @@ -0,0 +1,27 @@ +package cn.axzo.server.repository.entity.user; + +import cn.axzo.framework.data.mybatisplus.model.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +@Data +@TableName("b_user") +public class User extends BaseEntity { + + private String name; + + private Integer sex; + + private Integer age; + + private String phone; + + private String email; + + private String address; +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/repository/mapper/UserMapper.java b/workflow-engine-server/src/main/java/cn/axzo/server/repository/mapper/UserMapper.java new file mode 100644 index 000000000..1d327a11e --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/repository/mapper/UserMapper.java @@ -0,0 +1,14 @@ +package cn.axzo.server.repository.mapper; + +import cn.axzo.server.repository.entity.user.User; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +@Mapper +public interface UserMapper extends BaseMapper { +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/converter/EntityConverter.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/converter/EntityConverter.java new file mode 100644 index 000000000..dc730bd7d --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/converter/EntityConverter.java @@ -0,0 +1,15 @@ +package cn.axzo.server.service.converter; + +import java.util.List; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +public interface EntityConverter{ + + V toVo(E var); + + List toVo(List var); +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/converter/UserConverter.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/converter/UserConverter.java new file mode 100644 index 000000000..7ecd14aea --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/converter/UserConverter.java @@ -0,0 +1,26 @@ +package cn.axzo.server.service.converter; + +import cn.axzo.server.service.dto.request.user.NewUserDTO; +import cn.axzo.server.service.dto.request.user.UpdateUserDTO; +import cn.axzo.server.service.dto.response.user.UserVO; +import cn.axzo.server.repository.entity.user.User; +import org.mapstruct.Mapper; +import org.mapstruct.MappingTarget; + +import static org.mapstruct.NullValueCheckStrategy.ALWAYS; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +@Mapper( + componentModel = "spring", + nullValueCheckStrategy = ALWAYS +) +public interface UserConverter extends EntityConverter { + + User toEntity(NewUserDTO dto); + + void updateEntity(UpdateUserDTO dto, @MappingTarget User user); +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/package-info.java new file mode 100644 index 000000000..f08b807aa --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.service.dto.request; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/NewUserDTO.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/NewUserDTO.java new file mode 100644 index 000000000..0b51793a3 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/NewUserDTO.java @@ -0,0 +1,44 @@ +package cn.axzo.server.service.dto.request.user; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +@Data +public class NewUserDTO { + + @ApiModelProperty(value = "名称", position = 1) + @NotBlank(message = "名称不能为空") + private String name; + + @ApiModelProperty(value = "性别", position = 2) + @NotNull + private Integer sex; + + @ApiModelProperty(value = "年龄", position = 3) + private Integer age; + + @ApiModelProperty(value = "电话", position = 4) + private String phone; + + @ApiModelProperty(value = "邮箱", position = 5) + private String email; + + @ApiModelProperty(value = "地址", position = 6) + private String address; + + public void valid() { + // 电话和邮箱不能都为空 + if (StringUtils.isEmpty(phone) && StringUtils.isEmpty(email)) { + throw new RuntimeException("电话和邮箱不能都为空"); + } + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UpdateUserDTO.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UpdateUserDTO.java new file mode 100644 index 000000000..e80a855a2 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UpdateUserDTO.java @@ -0,0 +1,47 @@ +package cn.axzo.server.service.dto.request.user; + +import cn.axzo.framework.domain.web.ApiException; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static cn.axzo.server.common.enums.ErrorCode.USER_PHONE_EMAIL_IS_NULL; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +@Data +public class UpdateUserDTO { + + @ApiModelProperty(value = "名称", position = 1) + @NotBlank(message = "名称不能为空") + private String name; + + @ApiModelProperty(value = "性别", position = 2) + @NotNull + private Integer sex; + + @ApiModelProperty(value = "年龄", position = 3) + private Integer age; + + @ApiModelProperty(value = "电话", position = 4) + private String phone; + + @ApiModelProperty(value = "邮箱", position = 5) + private String email; + + @ApiModelProperty(value = "地址", position = 6) + private String address; + + public void valid() { + // 电话和邮箱不能都为空 + if (StringUtils.isEmpty(phone) && StringUtils.isEmpty(email)) { + throw new ApiException(USER_PHONE_EMAIL_IS_NULL); + } + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UserQO.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UserQO.java new file mode 100644 index 000000000..dd388f928 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UserQO.java @@ -0,0 +1,26 @@ +package cn.axzo.server.service.dto.request.user; + +import cn.axzo.framework.domain.page.PageQO; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +@Data +public class UserQO extends PageQO { + + @ApiParam("主键") + private Long id; + + @ApiParam("姓名") + private String name; + + @ApiParam("手机") + private String phone; + + @ApiParam("邮箱") + private String email; +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UserQO1.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UserQO1.java new file mode 100644 index 000000000..7adfe38e3 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/request/user/UserQO1.java @@ -0,0 +1,26 @@ +package cn.axzo.server.service.dto.request.user; + +import cn.axzo.framework.domain.page.PageQO; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Author: liyong.tian + * @Date: 2022/9/5 + * @Description: + */ +@Data +public class UserQO1 { + + @ApiParam("主键") + private Long id; + + @ApiParam("姓名") + private String name; + + @ApiParam("手机") + private String phone; + + @ApiParam("邮箱") + private String email; +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/response/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/response/package-info.java new file mode 100644 index 000000000..d8c8a7e66 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/response/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.service.dto.response; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/response/user/UserVO.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/response/user/UserVO.java new file mode 100644 index 000000000..c7931ad05 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/dto/response/user/UserVO.java @@ -0,0 +1,34 @@ +package cn.axzo.server.service.dto.response.user; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +@Data +public class UserVO { + + @ApiModelProperty(value = "id", position = 1) + private Long id; + + @ApiModelProperty(value = "名称", position = 2) + private String name; + + @ApiModelProperty(value = "性别", position = 3) + private Integer sex; + + @ApiModelProperty(value = "年龄", position = 4) + private Integer age; + + @ApiModelProperty(value = "电话", position = 5) + private String phone; + + @ApiModelProperty(value = "邮箱", position = 6) + private String email; + + @ApiModelProperty(value = "地址", position = 7) + private String address; +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/event/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/event/package-info.java new file mode 100644 index 000000000..8f0753195 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/event/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.service.event; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/manager/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/manager/package-info.java new file mode 100644 index 000000000..f05df3e34 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/manager/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.service.manager; \ No newline at end of file diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/user/UserService.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/user/UserService.java new file mode 100644 index 000000000..8a6d99b3a --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/user/UserService.java @@ -0,0 +1,29 @@ +package cn.axzo.server.service.user; + +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.framework.domain.page.PageResp; +import cn.axzo.server.service.dto.request.user.NewUserDTO; +import cn.axzo.server.service.dto.request.user.UpdateUserDTO; +import cn.axzo.server.service.dto.request.user.UserQO; +import cn.axzo.server.service.dto.request.user.UserQO1; +import cn.axzo.server.service.dto.response.user.UserVO; +import cn.azxo.framework.common.model.CommonPageResponse; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +public interface UserService { + UserVO create(NewUserDTO dto); + + UserVO update(Long id, UpdateUserDTO dto); + + UserVO getOne(Long id); + + void delete(Long id); + + CommonPageResponse queryByPage(UserQO userQO); + + PageResp find(UserQO1 userQo, PageQO page); +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/user/impl/UserServiceImpl.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/user/impl/UserServiceImpl.java new file mode 100644 index 000000000..61b476a76 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/user/impl/UserServiceImpl.java @@ -0,0 +1,82 @@ +package cn.axzo.server.service.user.impl; + +import cn.axzo.framework.domain.page.PageQO; +import cn.axzo.framework.domain.page.PageResp; +import cn.axzo.framework.domain.web.ApiException; +import cn.axzo.server.common.enums.ErrorCode; +import cn.axzo.server.service.dto.request.user.NewUserDTO; +import cn.axzo.server.service.dto.request.user.UpdateUserDTO; +import cn.axzo.server.service.dto.request.user.UserQO; +import cn.axzo.server.service.dto.request.user.UserQO1; +import cn.axzo.server.service.dto.response.user.UserVO; +import cn.axzo.server.repository.entity.user.User; +import cn.axzo.server.repository.UserDao; +import cn.axzo.server.service.user.UserService; +import cn.axzo.server.service.converter.UserConverter; +import cn.azxo.framework.common.model.CommonPageResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author: liyong.tian + * @Date: 2022/9/2 + * @Description: + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class UserServiceImpl implements UserService { + + private final UserConverter userConverter; + + private final UserDao userDao; + + @Override + public UserVO create(NewUserDTO dto) { + User user = userConverter.toEntity(dto); + userDao.save(user); + return userConverter.toVo(user); + } + + @Override + public UserVO update(Long id, UpdateUserDTO dto) { + User user = userDao.findById(id); + if (user == null) { + throw new ApiException(ErrorCode.USER_NOT_EXISTS, id); + } + userConverter.updateEntity(dto, user); + return userConverter.toVo(user); + } + + @Override + public UserVO getOne(Long id) { + User user = userDao.findById(id); + return userConverter.toVo(user); + } + + @Override + public void delete(Long id) { + userDao.delete(id); + } + + @Override + public CommonPageResponse queryByPage(UserQO userQo) { + IPage page = userDao.queryByPage(userQo); + List userList = page.getRecords(); + if (CollectionUtils.isEmpty(userList)) { + return CommonPageResponse.zero(userQo.getPage(), userQo.getPageSize()); + } + return new CommonPageResponse<>(page.getCurrent(), page.getSize(), page.getTotal(), userConverter.toVo(page.getRecords())); + } + + @Override + public PageResp find(UserQO1 userQo, PageQO page) { + IPage userPage = userDao.find(userQo, page); + return PageResp.list(userPage, userConverter.toVo(userPage.getRecords())); + } +} diff --git a/workflow-engine-server/src/main/java/cn/axzo/server/service/validator/package-info.java b/workflow-engine-server/src/main/java/cn/axzo/server/service/validator/package-info.java new file mode 100644 index 000000000..b19065c22 --- /dev/null +++ b/workflow-engine-server/src/main/java/cn/axzo/server/service/validator/package-info.java @@ -0,0 +1 @@ +package cn.axzo.server.service.validator; \ No newline at end of file diff --git a/workflow-engine-server/src/main/resources/bootstrap.yml b/workflow-engine-server/src/main/resources/bootstrap.yml new file mode 100644 index 000000000..3f09cd4b0 --- /dev/null +++ b/workflow-engine-server/src/main/resources/bootstrap.yml @@ -0,0 +1,37 @@ +spring: + application: + name: archetype-micro-standard + cloud: + nacos: + config: + server-addr: ${NACOS_HOST:test-nacos.axzo.cn}:${NACOS_PORT:80} + file-extension: yaml + namespace: ${NACOS_NAMESPACE_ID:f3c0f0d2-bac4-4498-bee7-9c3636b3afdf} + prefix: ${spring.application.name} + profiles: + active: ${NACOS_PROFILES_ACTIVE:test} + include: swagger + main: + allow-bean-definition-overriding: true + +logging: + level: + com.alibaba.nacos.client.config.impl: WARN + +management: + endpoint: + metrics: + enabled: true + prometheus: + enabled: true + endpoints: + web: + exposure: + include: "*" + metrics: + export: + prometheus: + enabled: true + +knife4j: + enable: true diff --git a/workflow-engine-server/src/main/resources/logback-spring.xml b/workflow-engine-server/src/main/resources/logback-spring.xml new file mode 100644 index 000000000..922ff2459 --- /dev/null +++ b/workflow-engine-server/src/main/resources/logback-spring.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/workflow-engine-server/src/main/resources/sql/bpm-activiti.sql b/workflow-engine-server/src/main/resources/sql/bpm-activiti.sql new file mode 100644 index 000000000..d9dc0f6e3 --- /dev/null +++ b/workflow-engine-server/src/main/resources/sql/bpm-activiti.sql @@ -0,0 +1,696 @@ +/* + Navicat Premium Data Transfer + + Source Server : 127.0.0.1 + Source Server Type : MySQL + Source Server Version : 80026 + Source Host : localhost:3306 + Source Schema : ruoyi-vue-pro + + Target Server Type : MySQL + Target Server Version : 80026 + File Encoding : 65001 + + Date: 23/01/2022 01:30:47 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ACT_EVT_LOG +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_EVT_LOG`; +CREATE TABLE `ACT_EVT_LOG` ( + `LOG_NR_` bigint NOT NULL AUTO_INCREMENT, + `TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TIME_STAMP_` timestamp(3) NOT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DATA_` longblob, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `IS_PROCESSED_` tinyint DEFAULT '0', + PRIMARY KEY (`LOG_NR_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_GE_BYTEARRAY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_GE_BYTEARRAY`; +CREATE TABLE `ACT_GE_BYTEARRAY` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `BYTES_` longblob, + `GENERATED_` tinyint DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_FK_BYTEARR_DEPL` (`DEPLOYMENT_ID_`), + CONSTRAINT `ACT_FK_BYTEARR_DEPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_GE_PROPERTY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_GE_PROPERTY`; +CREATE TABLE `ACT_GE_PROPERTY` ( + `NAME_` varchar(64) COLLATE utf8_bin NOT NULL, + `VALUE_` varchar(300) COLLATE utf8_bin DEFAULT NULL, + `REV_` int DEFAULT NULL, + PRIMARY KEY (`NAME_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_ACTINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ACTINST`; +CREATE TABLE `ACT_HI_ACTINST` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `ACT_ID_` varchar(255) COLLATE utf8_bin NOT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CALL_PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ACT_TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_ACT_INST_START` (`START_TIME_`), + KEY `ACT_IDX_HI_ACT_INST_END` (`END_TIME_`), + KEY `ACT_IDX_HI_ACT_INST_PROCINST` (`PROC_INST_ID_`,`ACT_ID_`), + KEY `ACT_IDX_HI_ACT_INST_EXEC` (`EXECUTION_ID_`,`ACT_ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_ATTACHMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ATTACHMENT`; +CREATE TABLE `ACT_HI_ATTACHMENT` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `URL_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CONTENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TIME_` datetime(3) DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_HI_ATTACHMENT +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_HI_COMMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_COMMENT`; +CREATE TABLE `ACT_HI_COMMENT` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TIME_` datetime(3) NOT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACTION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `MESSAGE_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `FULL_MSG_` longblob, + PRIMARY KEY (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_DETAIL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_DETAIL`; +CREATE TABLE `ACT_HI_DETAIL` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + `VAR_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REV_` int DEFAULT NULL, + `TIME_` datetime(3) NOT NULL, + `BYTEARRAY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DOUBLE_` double DEFAULT NULL, + `LONG_` bigint DEFAULT NULL, + `TEXT_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TEXT2_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_DETAIL_PROC_INST` (`PROC_INST_ID_`), + KEY `ACT_IDX_HI_DETAIL_ACT_INST` (`ACT_INST_ID_`), + KEY `ACT_IDX_HI_DETAIL_TIME` (`TIME_`), + KEY `ACT_IDX_HI_DETAIL_NAME` (`NAME_`), + KEY `ACT_IDX_HI_DETAIL_TASK_ID` (`TASK_ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_IDENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_IDENTITYLINK`; +CREATE TABLE `ACT_HI_IDENTITYLINK` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `GROUP_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_IDENT_LNK_USER` (`USER_ID_`), + KEY `ACT_IDX_HI_IDENT_LNK_TASK` (`TASK_ID_`), + KEY `ACT_IDX_HI_IDENT_LNK_PROCINST` (`PROC_INST_ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_PROCINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_PROCINST`; +CREATE TABLE `ACT_HI_PROCINST` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `BUSINESS_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `START_USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `END_ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUPER_PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `PROC_INST_ID_` (`PROC_INST_ID_`), + KEY `ACT_IDX_HI_PRO_INST_END` (`END_TIME_`), + KEY `ACT_IDX_HI_PRO_I_BUSKEY` (`BUSINESS_KEY_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_TASKINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_TASKINST`; +CREATE TABLE `ACT_HI_TASKINST` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_DEF_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `CLAIM_TIME_` datetime(3) DEFAULT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `PRIORITY_` int DEFAULT NULL, + `DUE_DATE_` datetime(3) DEFAULT NULL, + `FORM_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_TASK_INST_PROCINST` (`PROC_INST_ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_VARINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_VARINST`; +CREATE TABLE `ACT_HI_VARINST` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + `VAR_TYPE_` varchar(100) COLLATE utf8_bin DEFAULT NULL, + `REV_` int DEFAULT NULL, + `BYTEARRAY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DOUBLE_` double DEFAULT NULL, + `LONG_` bigint DEFAULT NULL, + `TEXT_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TEXT2_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` datetime(3) DEFAULT NULL, + `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_PROCVAR_PROC_INST` (`PROC_INST_ID_`), + KEY `ACT_IDX_HI_PROCVAR_NAME_TYPE` (`NAME_`,`VAR_TYPE_`), + KEY `ACT_IDX_HI_PROCVAR_TASK_ID` (`TASK_ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_PROCDEF_INFO +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_PROCDEF_INFO`; +CREATE TABLE `ACT_PROCDEF_INFO` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `INFO_JSON_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_UNIQ_INFO_PROCDEF` (`PROC_DEF_ID_`), + KEY `ACT_IDX_INFO_PROCDEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_INFO_JSON_BA` (`INFO_JSON_ID_`), + CONSTRAINT `ACT_FK_INFO_JSON_BA` FOREIGN KEY (`INFO_JSON_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_INFO_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_PROCDEF_INFO +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RE_DEPLOYMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_DEPLOYMENT`; +CREATE TABLE `ACT_RE_DEPLOYMENT` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL, + `ENGINE_VERSION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `VERSION_` int DEFAULT '1', + `PROJECT_RELEASE_VERSION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RE_MODEL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_MODEL`; +CREATE TABLE `ACT_RE_MODEL` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `VERSION_` int DEFAULT NULL, + `META_INFO_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EDITOR_SOURCE_VALUE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_FK_MODEL_SOURCE` (`EDITOR_SOURCE_VALUE_ID_`), + KEY `ACT_FK_MODEL_SOURCE_EXTRA` (`EDITOR_SOURCE_EXTRA_VALUE_ID_`), + KEY `ACT_FK_MODEL_DEPLOYMENT` (`DEPLOYMENT_ID_`), + CONSTRAINT `ACT_FK_MODEL_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`), + CONSTRAINT `ACT_FK_MODEL_SOURCE` FOREIGN KEY (`EDITOR_SOURCE_VALUE_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_MODEL_SOURCE_EXTRA` FOREIGN KEY (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RE_PROCDEF +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_PROCDEF`; +CREATE TABLE `ACT_RE_PROCDEF` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin NOT NULL, + `VERSION_` int NOT NULL, + `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `RESOURCE_NAME_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DGRM_RESOURCE_NAME_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `HAS_START_FORM_KEY_` tinyint DEFAULT NULL, + `HAS_GRAPHICAL_NOTATION_` tinyint DEFAULT NULL, + `SUSPENSION_STATE_` int DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `ENGINE_VERSION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `APP_VERSION_` int DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_UNIQ_PROCDEF` (`KEY_`,`VERSION_`,`TENANT_ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_DEADLETTER_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_DEADLETTER_JOB`; +CREATE TABLE `ACT_RU_DEADLETTER_JOB` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_FK_DEADLETTER_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_DEADLETTER_JOB_PROC_DEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_DEADLETTER_JOB_EXCEPTION` (`EXCEPTION_STACK_ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_RU_DEADLETTER_JOB +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RU_EVENT_SUBSCR +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EVENT_SUBSCR`; +CREATE TABLE `ACT_RU_EVENT_SUBSCR` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `EVENT_TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `EVENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACTIVITY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CONFIGURATION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATED_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_EVENT_SUBSCR_CONFIG_` (`CONFIGURATION_`), + KEY `ACT_FK_EVENT_EXEC` (`EXECUTION_ID_`), + CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_RU_EVENT_SUBSCR +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RU_EXECUTION +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EXECUTION`; +CREATE TABLE `ACT_RU_EXECUTION` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `BUSINESS_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SUPER_EXEC_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ROOT_PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `IS_ACTIVE_` tinyint DEFAULT NULL, + `IS_CONCURRENT_` tinyint DEFAULT NULL, + `IS_SCOPE_` tinyint DEFAULT NULL, + `IS_EVENT_SCOPE_` tinyint DEFAULT NULL, + `IS_MI_ROOT_` tinyint DEFAULT NULL, + `SUSPENSION_STATE_` int DEFAULT NULL, + `CACHED_ENT_STATE_` int DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) DEFAULT NULL, + `START_USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `IS_COUNT_ENABLED_` tinyint DEFAULT NULL, + `EVT_SUBSCR_COUNT_` int DEFAULT NULL, + `TASK_COUNT_` int DEFAULT NULL, + `JOB_COUNT_` int DEFAULT NULL, + `TIMER_JOB_COUNT_` int DEFAULT NULL, + `SUSP_JOB_COUNT_` int DEFAULT NULL, + `DEADLETTER_JOB_COUNT_` int DEFAULT NULL, + `VAR_COUNT_` int DEFAULT NULL, + `ID_LINK_COUNT_` int DEFAULT NULL, + `APP_VERSION_` int DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_EXEC_BUSKEY` (`BUSINESS_KEY_`), + KEY `ACT_IDC_EXEC_ROOT` (`ROOT_PROC_INST_ID_`), + KEY `ACT_FK_EXE_PROCINST` (`PROC_INST_ID_`), + KEY `ACT_FK_EXE_PARENT` (`PARENT_ID_`), + KEY `ACT_FK_EXE_SUPER` (`SUPER_EXEC_`), + KEY `ACT_FK_EXE_PROCDEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE, + CONSTRAINT `ACT_FK_EXE_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ACT_FK_EXE_SUPER` FOREIGN KEY (`SUPER_EXEC_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + + +-- ---------------------------- +-- Table structure for ACT_RU_IDENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_IDENTITYLINK`; +CREATE TABLE `ACT_RU_IDENTITYLINK` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `GROUP_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_IDENT_LNK_USER` (`USER_ID_`), + KEY `ACT_IDX_IDENT_LNK_GROUP` (`GROUP_ID_`), + KEY `ACT_IDX_ATHRZ_PROCEDEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_TSKASS_TASK` (`TASK_ID_`), + KEY `ACT_FK_IDL_PROCINST` (`PROC_INST_ID_`), + CONSTRAINT `ACT_FK_ATHRZ_PROCEDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_IDL_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_TSKASS_TASK` FOREIGN KEY (`TASK_ID_`) REFERENCES `ACT_RU_TASK` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + + +-- ---------------------------- +-- Table structure for ACT_RU_INTEGRATION +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_INTEGRATION`; +CREATE TABLE `ACT_RU_INTEGRATION` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `FLOW_NODE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATED_DATE_` timestamp(3) NULL DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_FK_INT_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_INT_PROC_INST` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_INT_PROC_DEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_INT_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE, + CONSTRAINT `ACT_FK_INT_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_INT_PROC_INST` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_RU_INTEGRATION +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RU_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_JOB`; +CREATE TABLE `ACT_RU_JOB` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_FK_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_JOB_PROC_DEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_JOB_EXCEPTION` (`EXCEPTION_STACK_ID_`), + CONSTRAINT `ACT_FK_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_RU_JOB +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RU_SUSPENDED_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_SUSPENDED_JOB`; +CREATE TABLE `ACT_RU_SUSPENDED_JOB` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_FK_SUSPENDED_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_SUSPENDED_JOB_PROC_DEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_SUSPENDED_JOB_EXCEPTION` (`EXCEPTION_STACK_ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_RU_SUSPENDED_JOB +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RU_TASK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_TASK`; +CREATE TABLE `ACT_RU_TASK` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `BUSINESS_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TASK_DEF_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DELEGATION_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PRIORITY_` int DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `DUE_DATE_` datetime(3) DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUSPENSION_STATE_` int DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `FORM_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CLAIM_TIME_` datetime(3) DEFAULT NULL, + `APP_VERSION_` int DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_TASK_CREATE` (`CREATE_TIME_`), + KEY `ACT_FK_TASK_EXE` (`EXECUTION_ID_`), + KEY `ACT_FK_TASK_PROCINST` (`PROC_INST_ID_`), + KEY `ACT_FK_TASK_PROCDEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_TASK_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_TASK_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_TASK_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_TIMER_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_TIMER_JOB`; +CREATE TABLE `ACT_RU_TIMER_JOB` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_FK_TIMER_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_TIMER_JOB_PROC_DEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_TIMER_JOB_EXCEPTION` (`EXCEPTION_STACK_ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +-- ---------------------------- +-- Records of ACT_RU_TIMER_JOB +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for ACT_RU_VARIABLE +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_VARIABLE`; +CREATE TABLE `ACT_RU_VARIABLE` ( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `BYTEARRAY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DOUBLE_` double DEFAULT NULL, + `LONG_` bigint DEFAULT NULL, + `TEXT_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TEXT2_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_VARIABLE_TASK_ID` (`TASK_ID_`), + KEY `ACT_FK_VAR_EXE` (`EXECUTION_ID_`), + KEY `ACT_FK_VAR_PROCINST` (`PROC_INST_ID_`), + KEY `ACT_FK_VAR_BYTEARRAY` (`BYTEARRAY_ID_`), + CONSTRAINT `ACT_FK_VAR_BYTEARRAY` FOREIGN KEY (`BYTEARRAY_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_VAR_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/workflow-engine-server/src/main/resources/sql/bpm-flowable.sql b/workflow-engine-server/src/main/resources/sql/bpm-flowable.sql new file mode 100644 index 000000000..797ee850e --- /dev/null +++ b/workflow-engine-server/src/main/resources/sql/bpm-flowable.sql @@ -0,0 +1,1376 @@ +/* + Navicat Premium Data Transfer + + Source Server : 127.0.0.1 + Source Server Type : MySQL + Source Server Version : 80026 + Source Host : localhost:3306 + Source Schema : ruoyi-vue-pro-flowable + + Target Server Type : MySQL + Target Server Version : 80026 + File Encoding : 65001 + + Date: 06/03/2022 15:04:36 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ACT_EVT_LOG +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_EVT_LOG`; +CREATE TABLE `ACT_EVT_LOG` +( + `LOG_NR_` bigint NOT NULL AUTO_INCREMENT, + `TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DATA_` longblob, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `IS_PROCESSED_` tinyint DEFAULT '0', + PRIMARY KEY (`LOG_NR_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_GE_BYTEARRAY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_GE_BYTEARRAY`; +CREATE TABLE `ACT_GE_BYTEARRAY` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `BYTES_` longblob, + `GENERATED_` tinyint DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_FK_BYTEARR_DEPL` (`DEPLOYMENT_ID_`), + CONSTRAINT `ACT_FK_BYTEARR_DEPL` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + + +-- ---------------------------- +-- Table structure for ACT_GE_PROPERTY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_GE_PROPERTY`; +CREATE TABLE `ACT_GE_PROPERTY` +( + `NAME_` varchar(64) COLLATE utf8_bin NOT NULL, + `VALUE_` varchar(300) COLLATE utf8_bin DEFAULT NULL, + `REV_` int DEFAULT NULL, + PRIMARY KEY (`NAME_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Records of ACT_GE_PROPERTY +-- ---------------------------- +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('batch.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('cfg.execution-related-entities-count', 'true', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('cfg.task-related-entities-count', 'true', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('common.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('entitylink.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('eventsubscription.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('identitylink.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('job.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('next.dbid', '1', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('schema.history', 'create(6.7.0.0)', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('task.schema.version', '6.7.0.0', 1); +INSERT INTO `ACT_GE_PROPERTY` +VALUES ('variable.schema.version', '6.7.0.0', 1); + +-- ---------------------------- +-- Table structure for ACT_HI_ACTINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ACTINST`; +CREATE TABLE `ACT_HI_ACTINST` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT '1', + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `ACT_ID_` varchar(255) COLLATE utf8_bin NOT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CALL_PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ACT_TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `TRANSACTION_ORDER_` int DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_ACT_INST_START` (`START_TIME_`), + KEY `ACT_IDX_HI_ACT_INST_END` (`END_TIME_`), + KEY `ACT_IDX_HI_ACT_INST_PROCINST` (`PROC_INST_ID_`, `ACT_ID_`), + KEY `ACT_IDX_HI_ACT_INST_EXEC` (`EXECUTION_ID_`, `ACT_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_ATTACHMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ATTACHMENT`; +CREATE TABLE `ACT_HI_ATTACHMENT` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `URL_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CONTENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TIME_` datetime(3) DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_COMMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_COMMENT`; +CREATE TABLE `ACT_HI_COMMENT` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TIME_` datetime(3) NOT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACTION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `MESSAGE_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `FULL_MSG_` longblob, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_DETAIL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_DETAIL`; +CREATE TABLE `ACT_HI_DETAIL` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + `VAR_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REV_` int DEFAULT NULL, + `TIME_` datetime(3) NOT NULL, + `BYTEARRAY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DOUBLE_` double DEFAULT NULL, + `LONG_` bigint DEFAULT NULL, + `TEXT_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TEXT2_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_DETAIL_PROC_INST` (`PROC_INST_ID_`), + KEY `ACT_IDX_HI_DETAIL_ACT_INST` (`ACT_INST_ID_`), + KEY `ACT_IDX_HI_DETAIL_TIME` (`TIME_`), + KEY `ACT_IDX_HI_DETAIL_NAME` (`NAME_`), + KEY `ACT_IDX_HI_DETAIL_TASK_ID` (`TASK_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_ENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_ENTITYLINK`; +CREATE TABLE `ACT_HI_ENTITYLINK` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `LINK_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` datetime(3) DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REF_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REF_SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REF_SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ROOT_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ROOT_SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HIERARCHY_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_ENT_LNK_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`, `LINK_TYPE_`), + KEY `ACT_IDX_HI_ENT_LNK_REF_SCOPE` (`REF_SCOPE_ID_`, `REF_SCOPE_TYPE_`, `LINK_TYPE_`), + KEY `ACT_IDX_HI_ENT_LNK_ROOT_SCOPE` (`ROOT_SCOPE_ID_`, `ROOT_SCOPE_TYPE_`, `LINK_TYPE_`), + KEY `ACT_IDX_HI_ENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`, `LINK_TYPE_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_IDENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_IDENTITYLINK`; +CREATE TABLE `ACT_HI_IDENTITYLINK` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `GROUP_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` datetime(3) DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_IDENT_LNK_USER` (`USER_ID_`), + KEY `ACT_IDX_HI_IDENT_LNK_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_IDENT_LNK_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_IDENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_IDENT_LNK_TASK` (`TASK_ID_`), + KEY `ACT_IDX_HI_IDENT_LNK_PROCINST` (`PROC_INST_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_PROCINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_PROCINST`; +CREATE TABLE `ACT_HI_PROCINST` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT '1', + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `BUSINESS_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `START_USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `END_ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUPER_PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CALLBACK_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CALLBACK_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REFERENCE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REFERENCE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `PROC_INST_ID_` (`PROC_INST_ID_`), + KEY `ACT_IDX_HI_PRO_INST_END` (`END_TIME_`), + KEY `ACT_IDX_HI_PRO_I_BUSKEY` (`BUSINESS_KEY_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_TASKINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_TASKINST`; +CREATE TABLE `ACT_HI_TASKINST` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT '1', + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_DEF_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `CLAIM_TIME_` datetime(3) DEFAULT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `PRIORITY_` int DEFAULT NULL, + `DUE_DATE_` datetime(3) DEFAULT NULL, + `FORM_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_TASK_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_TASK_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_TASK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_TASK_INST_PROCINST` (`PROC_INST_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_TSK_LOG +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_TSK_LOG`; +CREATE TABLE `ACT_HI_TSK_LOG` +( + `ID_` bigint NOT NULL AUTO_INCREMENT, + `TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `TIME_STAMP_` timestamp(3) NOT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DATA_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_HI_VARINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_HI_VARINST`; +CREATE TABLE `ACT_HI_VARINST` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT '1', + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + `VAR_TYPE_` varchar(100) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `BYTEARRAY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DOUBLE_` double DEFAULT NULL, + `LONG_` bigint DEFAULT NULL, + `TEXT_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TEXT2_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` datetime(3) DEFAULT NULL, + `LAST_UPDATED_TIME_` datetime(3) DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_HI_PROCVAR_NAME_TYPE` (`NAME_`, `VAR_TYPE_`), + KEY `ACT_IDX_HI_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_HI_PROCVAR_PROC_INST` (`PROC_INST_ID_`), + KEY `ACT_IDX_HI_PROCVAR_TASK_ID` (`TASK_ID_`), + KEY `ACT_IDX_HI_PROCVAR_EXE` (`EXECUTION_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_BYTEARRAY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_BYTEARRAY`; +CREATE TABLE `ACT_ID_BYTEARRAY` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `BYTES_` longblob, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_GROUP +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_GROUP`; +CREATE TABLE `ACT_ID_GROUP` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_INFO +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_INFO`; +CREATE TABLE `ACT_ID_INFO` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `USER_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `VALUE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PASSWORD_` longblob, + `PARENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_MEMBERSHIP +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_MEMBERSHIP`; +CREATE TABLE `ACT_ID_MEMBERSHIP` +( + `USER_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `GROUP_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`USER_ID_`, `GROUP_ID_`), + KEY `ACT_FK_MEMB_GROUP` (`GROUP_ID_`), + CONSTRAINT `ACT_FK_MEMB_GROUP` FOREIGN KEY (`GROUP_ID_`) REFERENCES `ACT_ID_GROUP` (`ID_`), + CONSTRAINT `ACT_FK_MEMB_USER` FOREIGN KEY (`USER_ID_`) REFERENCES `ACT_ID_USER` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_PRIV +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_PRIV`; +CREATE TABLE `ACT_ID_PRIV` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_UNIQ_PRIV_NAME` (`NAME_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_PRIV_MAPPING +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_PRIV_MAPPING`; +CREATE TABLE `ACT_ID_PRIV_MAPPING` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PRIV_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `GROUP_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_FK_PRIV_MAPPING` (`PRIV_ID_`), + KEY `ACT_IDX_PRIV_USER` (`USER_ID_`), + KEY `ACT_IDX_PRIV_GROUP` (`GROUP_ID_`), + CONSTRAINT `ACT_FK_PRIV_MAPPING` FOREIGN KEY (`PRIV_ID_`) REFERENCES `ACT_ID_PRIV` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_PROPERTY +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_PROPERTY`; +CREATE TABLE `ACT_ID_PROPERTY` +( + `NAME_` varchar(64) COLLATE utf8_bin NOT NULL, + `VALUE_` varchar(300) COLLATE utf8_bin DEFAULT NULL, + `REV_` int DEFAULT NULL, + PRIMARY KEY (`NAME_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Records of ACT_ID_PROPERTY +-- ---------------------------- +INSERT INTO `ACT_ID_PROPERTY` +VALUES ('schema.version', '6.7.0.0', 1); + +-- ---------------------------- +-- Table structure for ACT_ID_TOKEN +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_TOKEN`; +CREATE TABLE `ACT_ID_TOKEN` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TOKEN_VALUE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TOKEN_DATE_` timestamp(3) NULL DEFAULT NULL, + `IP_ADDRESS_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `USER_AGENT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TOKEN_DATA_` varchar(2000) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_ID_USER +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_ID_USER`; +CREATE TABLE `ACT_ID_USER` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `FIRST_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `LAST_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DISPLAY_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EMAIL_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PWD_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PICTURE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_PROCDEF_INFO +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_PROCDEF_INFO`; +CREATE TABLE `ACT_PROCDEF_INFO` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `INFO_JSON_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_UNIQ_INFO_PROCDEF` (`PROC_DEF_ID_`), + KEY `ACT_IDX_INFO_PROCDEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_INFO_JSON_BA` (`INFO_JSON_ID_`), + CONSTRAINT `ACT_FK_INFO_JSON_BA` FOREIGN KEY (`INFO_JSON_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_INFO_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RE_DEPLOYMENT +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_DEPLOYMENT`; +CREATE TABLE `ACT_RE_DEPLOYMENT` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `DEPLOY_TIME_` timestamp(3) NULL DEFAULT NULL, + `DERIVED_FROM_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DERIVED_FROM_ROOT_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PARENT_DEPLOYMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ENGINE_VERSION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RE_MODEL +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_MODEL`; +CREATE TABLE `ACT_RE_MODEL` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `LAST_UPDATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `VERSION_` int DEFAULT NULL, + `META_INFO_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EDITOR_SOURCE_VALUE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EDITOR_SOURCE_EXTRA_VALUE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_FK_MODEL_SOURCE` (`EDITOR_SOURCE_VALUE_ID_`), + KEY `ACT_FK_MODEL_SOURCE_EXTRA` (`EDITOR_SOURCE_EXTRA_VALUE_ID_`), + KEY `ACT_FK_MODEL_DEPLOYMENT` (`DEPLOYMENT_ID_`), + CONSTRAINT `ACT_FK_MODEL_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`), + CONSTRAINT `ACT_FK_MODEL_SOURCE` FOREIGN KEY (`EDITOR_SOURCE_VALUE_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_MODEL_SOURCE_EXTRA` FOREIGN KEY (`EDITOR_SOURCE_EXTRA_VALUE_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RE_PROCDEF +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RE_PROCDEF`; +CREATE TABLE `ACT_RE_PROCDEF` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `KEY_` varchar(255) COLLATE utf8_bin NOT NULL, + `VERSION_` int NOT NULL, + `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `RESOURCE_NAME_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DGRM_RESOURCE_NAME_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `HAS_START_FORM_KEY_` tinyint DEFAULT NULL, + `HAS_GRAPHICAL_NOTATION_` tinyint DEFAULT NULL, + `SUSPENSION_STATE_` int DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `ENGINE_VERSION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DERIVED_FROM_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DERIVED_FROM_ROOT_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DERIVED_VERSION_` int NOT NULL DEFAULT '0', + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_UNIQ_PROCDEF` (`KEY_`, `VERSION_`, `DERIVED_VERSION_`, `TENANT_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_ACTINST +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_ACTINST`; +CREATE TABLE `ACT_RU_ACTINST` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT '1', + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `ACT_ID_` varchar(255) COLLATE utf8_bin NOT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CALL_PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ACT_TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) NOT NULL, + `END_TIME_` datetime(3) DEFAULT NULL, + `DURATION_` bigint DEFAULT NULL, + `TRANSACTION_ORDER_` int DEFAULT NULL, + `DELETE_REASON_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_RU_ACTI_START` (`START_TIME_`), + KEY `ACT_IDX_RU_ACTI_END` (`END_TIME_`), + KEY `ACT_IDX_RU_ACTI_PROC` (`PROC_INST_ID_`), + KEY `ACT_IDX_RU_ACTI_PROC_ACT` (`PROC_INST_ID_`, `ACT_ID_`), + KEY `ACT_IDX_RU_ACTI_EXEC` (`EXECUTION_ID_`), + KEY `ACT_IDX_RU_ACTI_EXEC_ACT` (`EXECUTION_ID_`, `ACT_ID_`), + KEY `ACT_IDX_RU_ACTI_TASK` (`TASK_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_DEADLETTER_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_DEADLETTER_JOB`; +CREATE TABLE `ACT_RU_DEADLETTER_JOB` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CORRELATION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_DEADLETTER_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`), + KEY `ACT_IDX_DEADLETTER_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`), + KEY `ACT_IDX_DEADLETTER_JOB_CORRELATION_ID` (`CORRELATION_ID_`), + KEY `ACT_IDX_DJOB_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_DJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_DJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_FK_DEADLETTER_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_DEADLETTER_JOB_PROC_DEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_ENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_ENTITYLINK`; +CREATE TABLE `ACT_RU_ENTITYLINK` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CREATE_TIME_` datetime(3) DEFAULT NULL, + `LINK_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REF_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REF_SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REF_SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ROOT_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ROOT_SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HIERARCHY_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_ENT_LNK_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`, `LINK_TYPE_`), + KEY `ACT_IDX_ENT_LNK_REF_SCOPE` (`REF_SCOPE_ID_`, `REF_SCOPE_TYPE_`, `LINK_TYPE_`), + KEY `ACT_IDX_ENT_LNK_ROOT_SCOPE` (`ROOT_SCOPE_ID_`, `ROOT_SCOPE_TYPE_`, `LINK_TYPE_`), + KEY `ACT_IDX_ENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`, `LINK_TYPE_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_EVENT_SUBSCR +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EVENT_SUBSCR`; +CREATE TABLE `ACT_RU_EVENT_SUBSCR` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `EVENT_TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `EVENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACTIVITY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CONFIGURATION_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATED_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_EVENT_SUBSCR_CONFIG_` (`CONFIGURATION_`), + KEY `ACT_FK_EVENT_EXEC` (`EXECUTION_ID_`), + CONSTRAINT `ACT_FK_EVENT_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_EXECUTION +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EXECUTION`; +CREATE TABLE `ACT_RU_EXECUTION` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `BUSINESS_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SUPER_EXEC_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ROOT_PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `IS_ACTIVE_` tinyint DEFAULT NULL, + `IS_CONCURRENT_` tinyint DEFAULT NULL, + `IS_SCOPE_` tinyint DEFAULT NULL, + `IS_EVENT_SCOPE_` tinyint DEFAULT NULL, + `IS_MI_ROOT_` tinyint DEFAULT NULL, + `SUSPENSION_STATE_` int DEFAULT NULL, + `CACHED_ENT_STATE_` int DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_ACT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `START_TIME_` datetime(3) DEFAULT NULL, + `START_USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `LOCK_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `IS_COUNT_ENABLED_` tinyint DEFAULT NULL, + `EVT_SUBSCR_COUNT_` int DEFAULT NULL, + `TASK_COUNT_` int DEFAULT NULL, + `JOB_COUNT_` int DEFAULT NULL, + `TIMER_JOB_COUNT_` int DEFAULT NULL, + `SUSP_JOB_COUNT_` int DEFAULT NULL, + `DEADLETTER_JOB_COUNT_` int DEFAULT NULL, + `EXTERNAL_WORKER_JOB_COUNT_` int DEFAULT NULL, + `VAR_COUNT_` int DEFAULT NULL, + `ID_LINK_COUNT_` int DEFAULT NULL, + `CALLBACK_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CALLBACK_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REFERENCE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `REFERENCE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_EXEC_BUSKEY` (`BUSINESS_KEY_`), + KEY `ACT_IDC_EXEC_ROOT` (`ROOT_PROC_INST_ID_`), + KEY `ACT_IDX_EXEC_REF_ID_` (`REFERENCE_ID_`), + KEY `ACT_FK_EXE_PROCINST` (`PROC_INST_ID_`), + KEY `ACT_FK_EXE_PARENT` (`PARENT_ID_`), + KEY `ACT_FK_EXE_SUPER` (`SUPER_EXEC_`), + KEY `ACT_FK_EXE_PROCDEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE, + CONSTRAINT `ACT_FK_EXE_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ACT_FK_EXE_SUPER` FOREIGN KEY (`SUPER_EXEC_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_EXTERNAL_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_EXTERNAL_JOB`; +CREATE TABLE `ACT_RU_EXTERNAL_JOB` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CORRELATION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_EXTERNAL_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`), + KEY `ACT_IDX_EXTERNAL_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`), + KEY `ACT_IDX_EXTERNAL_JOB_CORRELATION_ID` (`CORRELATION_ID_`), + KEY `ACT_IDX_EJOB_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_EJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_EJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + CONSTRAINT `ACT_FK_EXTERNAL_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_EXTERNAL_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_HISTORY_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_HISTORY_JOB`; +CREATE TABLE `ACT_RU_HISTORY_JOB` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ADV_HANDLER_CFG_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_IDENTITYLINK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_IDENTITYLINK`; +CREATE TABLE `ACT_RU_IDENTITYLINK` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `GROUP_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_IDENT_LNK_USER` (`USER_ID_`), + KEY `ACT_IDX_IDENT_LNK_GROUP` (`GROUP_ID_`), + KEY `ACT_IDX_IDENT_LNK_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_IDENT_LNK_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_IDENT_LNK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_ATHRZ_PROCEDEF` (`PROC_DEF_ID_`), + KEY `ACT_FK_TSKASS_TASK` (`TASK_ID_`), + KEY `ACT_FK_IDL_PROCINST` (`PROC_INST_ID_`), + CONSTRAINT `ACT_FK_ATHRZ_PROCEDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_IDL_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_TSKASS_TASK` FOREIGN KEY (`TASK_ID_`) REFERENCES `ACT_RU_TASK` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_JOB`; +CREATE TABLE `ACT_RU_JOB` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CORRELATION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`), + KEY `ACT_IDX_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`), + KEY `ACT_IDX_JOB_CORRELATION_ID` (`CORRELATION_ID_`), + KEY `ACT_IDX_JOB_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_JOB_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_JOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_FK_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_JOB_PROC_DEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_SUSPENDED_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_SUSPENDED_JOB`; +CREATE TABLE `ACT_RU_SUSPENDED_JOB` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CORRELATION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_SUSPENDED_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`), + KEY `ACT_IDX_SUSPENDED_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`), + KEY `ACT_IDX_SUSPENDED_JOB_CORRELATION_ID` (`CORRELATION_ID_`), + KEY `ACT_IDX_SJOB_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_SJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_SJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_FK_SUSPENDED_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_SUSPENDED_JOB_PROC_DEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_TASK +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_TASK`; +CREATE TABLE `ACT_RU_TASK` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PROPAGATED_STAGE_INST_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `PARENT_TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TASK_DEF_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ASSIGNEE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `DELEGATION_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PRIORITY_` int DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `DUE_DATE_` datetime(3) DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUSPENSION_STATE_` int DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + `FORM_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CLAIM_TIME_` datetime(3) DEFAULT NULL, + `IS_COUNT_ENABLED_` tinyint DEFAULT NULL, + `VAR_COUNT_` int DEFAULT NULL, + `ID_LINK_COUNT_` int DEFAULT NULL, + `SUB_TASK_COUNT_` int DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_TASK_CREATE` (`CREATE_TIME_`), + KEY `ACT_IDX_TASK_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_TASK_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_TASK_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_FK_TASK_EXE` (`EXECUTION_ID_`), + KEY `ACT_FK_TASK_PROCINST` (`PROC_INST_ID_`), + KEY `ACT_FK_TASK_PROCDEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_TASK_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_TASK_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_TASK_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_TIMER_JOB +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_TIMER_JOB`; +CREATE TABLE `ACT_RU_TIMER_JOB` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `LOCK_EXP_TIME_` timestamp(3) NULL DEFAULT NULL, + `LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `EXCLUSIVE_` tinyint(1) DEFAULT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROCESS_INSTANCE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `ELEMENT_NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_DEFINITION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CORRELATION_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `RETRIES_` int DEFAULT NULL, + `EXCEPTION_STACK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `EXCEPTION_MSG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `DUEDATE_` timestamp(3) NULL DEFAULT NULL, + `REPEAT_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `HANDLER_CFG_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `CUSTOM_VALUES_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` timestamp(3) NULL DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_TIMER_JOB_EXCEPTION_STACK_ID` (`EXCEPTION_STACK_ID_`), + KEY `ACT_IDX_TIMER_JOB_CUSTOM_VALUES_ID` (`CUSTOM_VALUES_ID_`), + KEY `ACT_IDX_TIMER_JOB_CORRELATION_ID` (`CORRELATION_ID_`), + KEY `ACT_IDX_TIMER_JOB_DUEDATE` (`DUEDATE_`), + KEY `ACT_IDX_TJOB_SCOPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_TJOB_SUB_SCOPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_TJOB_SCOPE_DEF` (`SCOPE_DEFINITION_ID_`, `SCOPE_TYPE_`), + KEY `ACT_FK_TIMER_JOB_EXECUTION` (`EXECUTION_ID_`), + KEY `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` (`PROCESS_INSTANCE_ID_`), + KEY `ACT_FK_TIMER_JOB_PROC_DEF` (`PROC_DEF_ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_CUSTOM_VALUES` FOREIGN KEY (`CUSTOM_VALUES_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_EXCEPTION` FOREIGN KEY (`EXCEPTION_STACK_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_PROC_DEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`), + CONSTRAINT `ACT_FK_TIMER_JOB_PROCESS_INSTANCE` FOREIGN KEY (`PROCESS_INSTANCE_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for ACT_RU_VARIABLE +-- ---------------------------- +DROP TABLE IF EXISTS `ACT_RU_VARIABLE`; +CREATE TABLE `ACT_RU_VARIABLE` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(255) COLLATE utf8_bin NOT NULL, + `NAME_` varchar(255) COLLATE utf8_bin NOT NULL, + `EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `BYTEARRAY_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `DOUBLE_` double DEFAULT NULL, + `LONG_` bigint DEFAULT NULL, + `TEXT_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + `TEXT2_` varchar(4000) COLLATE utf8_bin DEFAULT NULL, + PRIMARY KEY (`ID_`), + KEY `ACT_IDX_RU_VAR_SCOPE_ID_TYPE` (`SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_IDX_RU_VAR_SUB_ID_TYPE` (`SUB_SCOPE_ID_`, `SCOPE_TYPE_`), + KEY `ACT_FK_VAR_BYTEARRAY` (`BYTEARRAY_ID_`), + KEY `ACT_IDX_VARIABLE_TASK_ID` (`TASK_ID_`), + KEY `ACT_FK_VAR_EXE` (`EXECUTION_ID_`), + KEY `ACT_FK_VAR_PROCINST` (`PROC_INST_ID_`), + CONSTRAINT `ACT_FK_VAR_BYTEARRAY` FOREIGN KEY (`BYTEARRAY_ID_`) REFERENCES `ACT_GE_BYTEARRAY` (`ID_`), + CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`), + CONSTRAINT `ACT_FK_VAR_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + +-- ---------------------------- +-- Table structure for FLW_CHANNEL_DEFINITION +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_CHANNEL_DEFINITION`; +CREATE TABLE `FLW_CHANNEL_DEFINITION` +( + `ID_` varchar(255) NOT NULL, + `NAME_` varchar(255) DEFAULT NULL, + `VERSION_` int DEFAULT NULL, + `KEY_` varchar(255) DEFAULT NULL, + `CATEGORY_` varchar(255) DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(255) DEFAULT NULL, + `CREATE_TIME_` datetime(3) DEFAULT NULL, + `TENANT_ID_` varchar(255) DEFAULT NULL, + `RESOURCE_NAME_` varchar(255) DEFAULT NULL, + `DESCRIPTION_` varchar(255) DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_IDX_CHANNEL_DEF_UNIQ` (`KEY_`, `VERSION_`, `TENANT_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_general_ci; + +-- ---------------------------- +-- Table structure for FLW_EV_DATABASECHANGELOG +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EV_DATABASECHANGELOG`; +CREATE TABLE `FLW_EV_DATABASECHANGELOG` +( + `ID` varchar(255) NOT NULL, + `AUTHOR` varchar(255) NOT NULL, + `FILENAME` varchar(255) NOT NULL, + `DATEEXECUTED` datetime NOT NULL, + `ORDEREXECUTED` int NOT NULL, + `EXECTYPE` varchar(10) NOT NULL, + `MD5SUM` varchar(35) DEFAULT NULL, + `DESCRIPTION` varchar(255) DEFAULT NULL, + `COMMENTS` varchar(255) DEFAULT NULL, + `TAG` varchar(255) DEFAULT NULL, + `LIQUIBASE` varchar(20) DEFAULT NULL, + `CONTEXTS` varchar(255) DEFAULT NULL, + `LABELS` varchar(255) DEFAULT NULL, + `DEPLOYMENT_ID` varchar(10) DEFAULT NULL +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_general_ci; + +-- ---------------------------- +-- Table structure for FLW_EV_DATABASECHANGELOGLOCK +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EV_DATABASECHANGELOGLOCK`; +CREATE TABLE `FLW_EV_DATABASECHANGELOGLOCK` +( + `ID` int NOT NULL, + `LOCKED` bit(1) NOT NULL, + `LOCKGRANTED` datetime DEFAULT NULL, + `LOCKEDBY` varchar(255) DEFAULT NULL, + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_general_ci; + +-- ---------------------------- +-- Table structure for FLW_EVENT_DEFINITION +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EVENT_DEFINITION`; +CREATE TABLE `FLW_EVENT_DEFINITION` +( + `ID_` varchar(255) NOT NULL, + `NAME_` varchar(255) DEFAULT NULL, + `VERSION_` int DEFAULT NULL, + `KEY_` varchar(255) DEFAULT NULL, + `CATEGORY_` varchar(255) DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(255) DEFAULT NULL, + `TENANT_ID_` varchar(255) DEFAULT NULL, + `RESOURCE_NAME_` varchar(255) DEFAULT NULL, + `DESCRIPTION_` varchar(255) DEFAULT NULL, + PRIMARY KEY (`ID_`), + UNIQUE KEY `ACT_IDX_EVENT_DEF_UNIQ` (`KEY_`, `VERSION_`, `TENANT_ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_general_ci; + +-- ---------------------------- +-- Table structure for FLW_EVENT_DEPLOYMENT +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EVENT_DEPLOYMENT`; +CREATE TABLE `FLW_EVENT_DEPLOYMENT` +( + `ID_` varchar(255) NOT NULL, + `NAME_` varchar(255) DEFAULT NULL, + `CATEGORY_` varchar(255) DEFAULT NULL, + `DEPLOY_TIME_` datetime(3) DEFAULT NULL, + `TENANT_ID_` varchar(255) DEFAULT NULL, + `PARENT_DEPLOYMENT_ID_` varchar(255) DEFAULT NULL, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_general_ci; + +-- ---------------------------- +-- Table structure for FLW_EVENT_RESOURCE +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_EVENT_RESOURCE`; +CREATE TABLE `FLW_EVENT_RESOURCE` +( + `ID_` varchar(255) NOT NULL, + `NAME_` varchar(255) DEFAULT NULL, + `DEPLOYMENT_ID_` varchar(255) DEFAULT NULL, + `RESOURCE_BYTES_` longblob, + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_general_ci; + +-- ---------------------------- +-- Table structure for FLW_RU_BATCH +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_RU_BATCH`; +CREATE TABLE `FLW_RU_BATCH` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `TYPE_` varchar(64) COLLATE utf8_bin NOT NULL, + `SEARCH_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SEARCH_KEY2_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` datetime(3) NOT NULL, + `COMPLETE_TIME_` datetime(3) DEFAULT NULL, + `STATUS_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `BATCH_DOC_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + + +-- ---------------------------- +-- Table structure for FLW_RU_BATCH_PART +-- ---------------------------- +DROP TABLE IF EXISTS `FLW_RU_BATCH_PART`; +CREATE TABLE `FLW_RU_BATCH_PART` +( + `ID_` varchar(64) COLLATE utf8_bin NOT NULL, + `REV_` int DEFAULT NULL, + `BATCH_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TYPE_` varchar(64) COLLATE utf8_bin NOT NULL, + `SCOPE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SUB_SCOPE_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SCOPE_TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `SEARCH_KEY_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `SEARCH_KEY2_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `CREATE_TIME_` datetime(3) NOT NULL, + `COMPLETE_TIME_` datetime(3) DEFAULT NULL, + `STATUS_` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `RESULT_DOC_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL, + `TENANT_ID_` varchar(255) COLLATE utf8_bin DEFAULT '', + PRIMARY KEY (`ID_`), + KEY `FLW_IDX_BATCH_PART` (`BATCH_ID_`), + CONSTRAINT `FLW_FK_BATCH_PART_PARENT` FOREIGN KEY (`BATCH_ID_`) REFERENCES `FLW_RU_BATCH` (`ID_`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb3 + COLLATE = utf8_bin; + + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/workflow-engine-server/src/test/java/cn/axzo/maven/archetype/server/AppTest.java b/workflow-engine-server/src/test/java/cn/axzo/maven/archetype/server/AppTest.java new file mode 100644 index 000000000..f5b53190e --- /dev/null +++ b/workflow-engine-server/src/test/java/cn/axzo/maven/archetype/server/AppTest.java @@ -0,0 +1,14 @@ +package cn.axzo.maven.archetype.server; + +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Unit test for simple App. + */ +@RunWith(SpringRunner.class) +@SpringBootTest +public class AppTest { + +}