有时候我们需要使用毫秒或微秒来精确判断流程或任务的相关时间,但是Camunda在使用MySQL数据库时,时间字段是只精确到秒的,Activiti 从5.15版本开始支持MySQL 5.6.4。
Camunda是从2013年fork Activiti得来,具体通过对比github上的记录,可以得到是Activit 5.11。
1、camunda 7.0.0-alpha1于2013年3月14日发布;
2、camunda 7.0.0-Final于2013年8月29日发布;
3、activiti-5.11于2012年12月5日发布;
4、activiti-5.15于2014年3月21日发布,开始支持MySQL 5.6.4;
MySQL 5.6.4 (2011-12-20, Milestone 7)开始为时间类型(TIME,DATETIME,TIMESTAMP)提供微秒支持,对应的mysql-connector-java >= 5.1.23。
https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-4.html#mysqld-5-6-4-fractional-seconds
Activiti5.x 对于MySQL数据库支持说明https://www.activiti.org/5.x/userguide/index.html
Activiti发版记录: https://github.com/Activiti/Activiti/tags?after=activiti-5.15
Camunda发版记录:https://github.com/camunda/camunda-bpm-platform/tags?after=7.0.0-Final
通过对比Activiti5.15和Camunda的MySQL数据库脚本,以ACT_HI_PROCINST为例,将datetime类型的改成datetime(3)即可
修改前:
修改后:
注意:本试验未经过严格测试,仅参考Activiti已实现的,有问题可交流。