Files
tms-erp-api/doc/sql/changelog/mk-form-bind-202609290215.sql

44 lines
2.1 KiB
SQL

-- 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`);