系列文章:
Flowable(Activiti)系列之一:中会签(多实例)使用方法以及ExecutionListener和TaskListener的区别
Flowable(Activiti)系列之二:不用自己写代码,使用Flowable-ui的Rest接口
Flowable(Activiti)系列之三:docker运行flowable-ui,存储到mysql/postgres数据库,支持arm64架构
Flowable(Activiti)系列之四:没有数据库创建权限部署flowable(activiti)时完全屏蔽LiquiBase
Flowable/Activiti 流程引擎远程调用时透传任意复杂的业务对象
flowable启动时会启用LiquiBase去检查更新数据,但公司严格管理数据库权限,应用使用的数据用户是没权限修改任何数据库结构的。所以,我就发现每次启动LiquiBase都会报错,按网上说的,如下设置可以屏蔽:
flowable.database-schema-update=ignore
但实际上还是报错,经反复研究发现,flowable每次启动都会检查一些数据库里的设置记录,如果这些记录缺失,它就会启动相应的更新脚本,所以,要想屏蔽DDL脚本,必须要把相应的数据也提前迁移进去才行。具体的表如下:
*_databasechangelog
*_act_adm_databasechangeloglock
act_adm_server_config
act_id_property
act_id_priv
然后再启动flowable,它就不会再试图更新数据库结构了。
另外,DBA创建数据库结构后,要授权给应用数据库用户,否则也是不行的,脚本参考如下:
grant all on all tables in schema ri_flow to risk;
grant all on all sequences in schema ri_flow to risk;
grant usage on schema ri_flow to risk;