Appearance
达梦数据库
TIP
以下资料均在私服flowable-dm项目中,如有需要请自行下载。
WARNING
因本人设备有限,只有arm架构的mac电脑,其他设备请自行研究处理。本人电脑上成功运行基于以下设备/资料:
DANGER
- 进行下面步骤之前请确保达梦数据库已成功安装!!!并且用BladeX可成功连接。
- 请确保插件成功升级到了1.7.1版本,不然请自行修改ACT_DE_MODEL和ACT_DE_MODEL_HISTORY中的
xml字段为model_xml。并参考Saber的提交。 - 删除数据库中
ACT_或FLW_开头的所有表。
1、让flowable识别DM DBMS
确保application.yaml中的flowable配置database-schema-update为true。

选择flowable版本进行以下操作,mvn clean,启动项目。flowable会自动建表。
flowable7.1.0+
- 复制flowable源码中的org.flowable.common.engine.impl.util.DbUtil类到你的项目本体,路径包名保持一致,以达到覆盖的目的。
- 在DbUtil类中的getDefaultDatabaseTypeMappings方法中添加最后一行。
java
...
databaseTypeMappings.setProperty("DB2/2", DATABASE_TYPE_DB2);
databaseTypeMappings.setProperty("DB2 UDB AS400", DATABASE_TYPE_DB2);
databaseTypeMappings.setProperty(PRODUCT_NAME_CRDB, DATABASE_TYPE_COCKROACHDB);
databaseTypeMappings.setProperty("DM DBMS", DATABASE_TYPE_ORACLE); flowable7.0.1
- 复制flowable源码中的org.flowable.common.engine.impl.AbstractEngineConfiguration类到你的项目本体,路径包名保持一致,以达到覆盖的目的。boot到根目录,cloud到blade-workflow根目录。
- 在AbstractEngineConfiguration类中的getDefaultDatabaseTypeMappings方法中添加最后一行。
java
...
databaseTypeMappings.setProperty("DB2/2", DATABASE_TYPE_DB2);
databaseTypeMappings.setProperty("DB2 UDB AS400", DATABASE_TYPE_DB2);
databaseTypeMappings.setProperty(PRODUCT_NAME_CRDB, DATABASE_TYPE_COCKROACHDB);
databaseTypeMappings.setProperty("DM DBMS", DATABASE_TYPE_ORACLE); 
DANGER
有时不会自动建表,有兴趣的自己搜索研究,小概率玄学问题。或者直接去github仓库找建表sql。套壳的哪个就用哪个(如达梦:Oracle)。链接
2、修改flowable配置
建完表后再次启动程序,flowable每次都会比对版本,但由于不知道什么原因达梦jdbc驱动中的实现类获取不到Schema,所以必须关掉flowable的启动检查。

此处设置为none会爆红,因为none不在flowbale规定的几个参数内。修改完后再次启动flowable就不会检查数据库版本了。