# demo25 **Repository Path**: FlowableDemo/demo25 ## Basic Information - **Project Name**: demo25 - **Description**: 流程实例迁移 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-01-13 - **Last Updated**: 2022-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ------ 环境: [jkd8+]() [mysql5.6+]() ## 一、流程实例迁移 ​ 当使用新版本更新流程定义时,问题就出现了如何使用旧版本的流程定义运行的流程实例。如果应将运行流程实例迁移到另一个流程定义版本,则可以使用Flowable Engine上的流程实例迁移功能。 [旧的流程:启动事件 - 用户任务1 - 结束事件,当前任务在 用户任务1]() [新的流程:启动事件 - 用户任务1 - 用户任务2 - 结束事件,当前任务在 用户任务1]() - 迁移代码: ```java ProcessInstanceMigrationValidationResult validationResult = runtimeService .createProcessInstanceMigrationBuilder() .migrateToProcessDefinition(version2ProcessDef.getId()) .migrate(processInstanceToMigrate.getId()); ``` 注意:旧流程中的**当前任务的用户任务1**的task_key要和新流程中的**当前任务的用户任务1**的task_key一样 ## 二、修改数据配置 [将flowable-context.xml中的mysql改为自己的相关配置]() ## 三、实践测试 - 运行demo - 查看数据库表 ``` act_ru_execution,act_ru_task 1、REV_设置为2 2、流程定义id被赋值为迁移后版本的流程定义id ```