-- MK 业务ID与表单实例ID绑定 CREATE TABLE IF NOT EXISTS `blade_mk_form_bind` ( `id` bigint NOT NULL COMMENT '主键', `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', `biz_type` varchar(64) NOT NULL DEFAULT '' COMMENT '业务类型', `biz_id` bigint NOT NULL COMMENT '业务主键', `form_instance_id` bigint NOT NULL COMMENT 'MK表单实例id', `process_instance_id` varchar(64) DEFAULT NULL COMMENT 'MK流程实例id', `is_current` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否当前生效(1是0否)', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_blade_mk_form_bind_form_instance_id` (`form_instance_id`) USING BTREE, KEY `idx_blade_mk_form_bind_biz_current` (`biz_type`, `biz_id`, `is_current`) USING BTREE ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT ='MK表单实例绑定表'; -- 业务流程表增加表单实例id ALTER TABLE `blade_business_process` ADD COLUMN `form_instance_id` bigint DEFAULT NULL COMMENT 'MK表单实例id' AFTER `biz_id`; -- 历史数据:原 biz_id 即 formInstanceId,回填并写入绑定表 UPDATE `blade_business_process` SET `form_instance_id` = `biz_id` WHERE `form_instance_id` IS NULL; INSERT INTO `blade_mk_form_bind` (`id`, `tenant_id`, `biz_type`, `biz_id`, `form_instance_id`, `process_instance_id`, `is_current`, `create_time`, `update_time`) SELECT `id`, IFNULL(`tenant_id`, '000000'), '', `biz_id`, `biz_id`, `process_instance_id`, 1, IFNULL(`create_time`, NOW()), IFNULL(`update_time`, NOW()) FROM `blade_business_process` bp WHERE NOT EXISTS (SELECT 1 FROM `blade_mk_form_bind` b WHERE b.`form_instance_id` = bp.`biz_id`);