商业版集成国产数据库:达梦

# 前置条件

# 安装金达梦数据库

docker run -d -p 5236:5236  --name=dm8_test  --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e INSTANCE_NAME=dm8_test  0880e3256f92
  1. 安装JDBC(DmJdbcDriver18-8.1.3.140.jar)驱动到Maven私服,若没有可以安装到本地,执行如下命令:
mvn install:install-file -Dfile="DmJdbcDriver18.jar" "-DgroupId=com.dameng"  "-DartifactId=DmJdbcDriver18" "-Dversion=8.1.3.140" "-Dpackaging=jar"

# 初始化sql

  1. 先在mysql数据库执行脚本:all.sqlflowable.sql
  2. 然后导入mysql所有脚本到达梦数据库,可以通过百灵或者开源工具dbswitch完成导入
  3. 执行完sql之后执行如下脚本:
 alter table ACT_HI_VARINST    modify "TEXT_" varchar(100);
 
 
 
 alter table ACT_RU_VARIABLE    modify "TEXT_" varchar(100);

# 修改代码配置

  1. 默认分支是不支持达梦数据库的,需要切换到分支:**-gcdb
  2. 先将主分支代码合并到国产数据库分支:**-gcdb
  3. 打开module:flyflow-flowable的pom.xml文件,注释掉金仓模块的依赖
   <dependency>
    <groupId>cc.flyflow.flowable.kingbase</groupId>
    <artifactId>flyflow-flowable-kingbase8</artifactId>
</dependency>

打开达梦的模块依赖:

          <dependency>
    <groupId>cc.flyflow.flowable.dm</groupId>
    <artifactId>flyflow-flowable-dm</artifactId>
</dependency>
  1. 打开module:flyflow-biz的pom.xml文件,注释掉金仓模块的依赖
<!--        <dependency>-->
<!--            <groupId>org.anyline</groupId>-->
<!--            <artifactId>anyline-data-jdbc-kingbase</artifactId>-->
<!--        </dependency>-->

打开达梦的模块依赖:


         <dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-data-jdbc-dm</artifactId>
</dependency>
  1. 打开application.yml文件,修改数据源配置为达梦数据库
  datasource:
    url: jdbc:dm://127.0.0.1:5236?SCHEMA=SYSDBA
    driver-class-name: dm.jdbc.driver.DmDriver
    ##数据库账号
    username: SYSDBA
    ##数据库密码
    password: SYSDBA001
    hikari:
      connection-timeout: 10000
      validation-timeout: 3000
      idle-timeout: 60000
      login-timeout: 5
      max-lifetime: 60000
      maximum-pool-size: 50
      minimum-idle: 10
      read-only: false 
  jackson:
    #字段为null时不返回该字段
    default-property-inclusion: non_null
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss
    deserialization:
      fail-on-unknown-properties: false