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;