/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!50503 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_app` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `app_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `app_name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, `enabled` int NOT NULL, `sch_id` bigint NOT NULL, `sort_no` int DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_app_sch_key` (`sch_id`,`app_key`), KEY `idx_flw_app_sch_enabled` (`sch_id`,`enabled`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_assignee_map` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `dept_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `dept_name` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, `sch_id` bigint NOT NULL, `status` int NOT NULL, `user_id` int NOT NULL, `user_name` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_map_sch_dept_user` (`sch_id`,`dept_key`,`user_id`), KEY `idx_flw_map_sch_dept` (`sch_id`,`dept_key`,`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_attachment` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `field_key` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `file_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `file_path` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL, `file_size` bigint DEFAULT NULL, `instance_id` bigint NOT NULL, `mime_type` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, `sch_id` bigint NOT NULL, `web_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_flw_att_inst` (`instance_id`,`sch_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_branch` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `branch_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `instance_id` bigint NOT NULL, `status` int NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_branch_inst_key` (`instance_id`,`branch_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_callback_log` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `biz_id` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `biz_type` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, `event` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `event_id` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `instance_id` bigint NOT NULL, `last_error` varchar(1000) COLLATE utf8mb4_general_ci DEFAULT NULL, `last_http_status` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, `next_retry_time` datetime DEFAULT NULL, `payload_json` longtext COLLATE utf8mb4_general_ci NOT NULL, `push_time` datetime DEFAULT NULL, `reg_id` bigint NOT NULL, `retry_count` int NOT NULL, `sch_id` bigint NOT NULL, `status` int NOT NULL, `resp_body` text COLLATE utf8mb4_general_ci, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_log_event_reg` (`event_id`,`reg_id`), KEY `idx_flw_log_scan` (`status`,`next_retry_time`), KEY `idx_flw_log_inst` (`instance_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_callback_reg` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `app_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `callback_url` varchar(500) COLLATE utf8mb4_general_ci NOT NULL, `event_types` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, `flow_guid` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `sch_id` bigint NOT NULL, `secret` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `status` int NOT NULL, `base_path` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_reg_sch_app_flow` (`sch_id`,`app_key`,`flow_guid`), KEY `idx_flw_reg_flow` (`sch_id`,`flow_guid`,`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_cc` ( `id` bigint NOT NULL AUTO_INCREMENT, `instance_id` bigint NOT NULL COMMENT '归属办件', `sch_id` bigint NOT NULL COMMENT '租户键(冗余,列表免 join)', `node_id` varchar(64) NOT NULL COMMENT '定义节点 id', `node_name` varchar(128) DEFAULT NULL COMMENT '节点名快照', `user_id` int NOT NULL COMMENT '接收人 id', `user_name` varchar(128) DEFAULT NULL COMMENT '接收人姓名快照', `sent_time` datetime(3) NOT NULL COMMENT '抄送时间(节点激活时刻,毫秒)', `create_by` varchar(64) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(64) DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_flw_cc_user` (`user_id`,`sent_time`), KEY `idx_flw_cc_inst` (`instance_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='抄送留痕(NOTIFY 节点逐接收人一行)'; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_def` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `code` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `content_json` longtext COLLATE utf8mb4_general_ci NOT NULL, `flow_guid` varchar(32) COLLATE utf8mb4_general_ci NOT NULL, `form_id` bigint DEFAULT NULL, `item_code` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, `publish_time` datetime DEFAULT NULL, `sch_id` bigint NOT NULL, `status` int NOT NULL, `version` int NOT NULL, `app_key` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `change_log` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL, `form_uuid` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, `form_version` int DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_def_sch_code_ver` (`sch_id`,`code`,`version`), UNIQUE KEY `uk_flw_def_guid_ver` (`sch_id`,`flow_guid`,`version`), KEY `idx_flw_def_guid` (`sch_id`,`flow_guid`,`status`,`version`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_dept` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `dept_name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, `sch_id` bigint NOT NULL, `source_group_id` int DEFAULT NULL, `status` int NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_dept_sch_srcgroup` (`sch_id`,`source_group_id`), KEY `idx_flw_dept_sch_status` (`sch_id`,`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_dept_member` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `dept_id` bigint NOT NULL, `status` int NOT NULL, `user_id` int NOT NULL, `user_name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_dept_member` (`dept_id`,`user_id`), KEY `idx_flw_dept_member_dept` (`dept_id`,`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_instance` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `biz_id` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL, `biz_snapshot` longtext COLLATE utf8mb4_general_ci, `biz_title` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, `biz_type` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL, `biz_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL, `current_nodes` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, `def_code` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `def_id` bigint NOT NULL, `def_version` int NOT NULL, `finish_time` datetime DEFAULT NULL, `form_data_json` longtext COLLATE utf8mb4_general_ci, `item_code` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `item_title` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, `sch_id` bigint NOT NULL, `status` int NOT NULL, `submit_time` datetime DEFAULT NULL, `submitter_id` int NOT NULL, `submitter_name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, `version` int NOT NULL, `apply_app_code` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, `apply_app_key` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL, `assign_json` longtext COLLATE utf8mb4_general_ci, `apply_request_token` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `apply_round` int DEFAULT NULL, `apply_payload_hash` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `event_seq_counter` int DEFAULT NULL, `source_principal_id` varchar(36) COLLATE utf8mb4_general_ci DEFAULT NULL, `legacy_slot` int DEFAULT 1, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_instance_legacy` (`sch_id`,`source_principal_id`,`biz_type`,`biz_id`,`legacy_slot`), UNIQUE KEY `uk_flw_instance_round` (`sch_id`,`source_principal_id`,`biz_type`,`biz_id`,`apply_round`), KEY `idx_flw_inst_submitter` (`sch_id`,`submitter_id`,`status`), KEY `idx_flw_inst_status_time` (`sch_id`,`status`,`submit_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_route_log` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `attempt` int NOT NULL, `decide_time` datetime(3) NOT NULL, `instance_id` bigint NOT NULL, `node_id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `node_name` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, `outlet` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `raw_response` text COLLATE utf8mb4_general_ci, `router_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `sch_id` bigint NOT NULL, PRIMARY KEY (`id`), KEY `idx_flw_route_log_inst` (`instance_id`,`node_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_router` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `base_path` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, `name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL, `path` varchar(255) COLLATE utf8mb4_general_ci NOT NULL, `router_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `service_key` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `status` int NOT NULL, `direct_host` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `reg_app_key` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_router_key` (`router_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `flw_task` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `arrive_time` datetime(3) NOT NULL COMMENT '到达时间(毫秒)', `assignee_id` int NOT NULL, `assignee_name` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, `deadline` datetime DEFAULT NULL, `handle_time` datetime(3) DEFAULT NULL COMMENT '办理时间(毫秒)', `instance_id` bigint NOT NULL, `node_id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, `node_name` varchar(128) COLLATE utf8mb4_general_ci DEFAULT NULL, `opinion` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL, `sch_id` bigint NOT NULL, `status` int NOT NULL, `urge_count` int NOT NULL, `edge_name` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_flw_task_inst_status` (`instance_id`,`status`), KEY `idx_flw_task_assignee` (`assignee_id`,`status`,`arrive_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Codex C audit: isolated CI initialization only, no business-row DML. -- 2026-10-25 T03:流程线级停发标志(整线停新发起,不影响在途;与版本级 status 正交) -- ddl-auto=update 会自动加列(NOT NULL DEFAULT 0);本脚本为生产备案 ALTER TABLE `flw_def` ADD COLUMN `line_offline` INT NOT NULL DEFAULT 0 COMMENT '线级停发:1=整线停新发起/预览(在途不受影响)' AFTER `version`; -- 已有生产索引不含 line_offline;新发起解析走 (sch_id, flow_guid, status, version) 既有索引后过滤,暂不加列索引 -- 2026-10-25 T05:状态事件事实(同事务落库)+ 待推进意图(办理事务内持久化) -- 注:event_seq 为尽力单调(REQUIRES_NEW 推进拓扑下极端并发可能同值),非唯一键;严格全序待专用发号器 -- ddl-auto=update 会自动建表;本脚本为生产备案 CREATE TABLE IF NOT EXISTS `flw_state_event` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `event_id` VARCHAR(32) NOT NULL COMMENT '稳定事件身份(全订阅方/重试复用)', `sch_id` BIGINT NOT NULL, `instance_id` BIGINT NOT NULL, `apply_round` INT NULL COMMENT '发布时冻结的申报轮次', `event_seq` INT NOT NULL COMMENT '实例内单调序号', `event_type` VARCHAR(32) NOT NULL, `task_id` BIGINT NULL, `operator_id` INT NULL, `payload_json` LONGTEXT NOT NULL COMMENT '发生时载荷快照', `dispatched` INT NOT NULL DEFAULT 0 COMMENT '0=待分发(崩溃窗口恢复扫描);1=已分发', `create_by` VARCHAR(255) NULL, `create_time` DATETIME(6) NULL, `update_by` VARCHAR(255) NULL, `update_time` DATETIME(6) NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_state_event_id` (`event_id`), KEY `idx_flw_state_event_instance` (`instance_id`), KEY `idx_flw_state_event_dispatch` (`dispatched`, `create_time`), KEY `idx_flw_state_event_seq` (`instance_id`, `event_seq`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '流程状态事件事实(T05 同事务 outbox)'; CREATE TABLE IF NOT EXISTS `flw_advance_intent` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `instance_id` BIGINT NOT NULL, `node_id` VARCHAR(64) NOT NULL, `edge_name` VARCHAR(128) NULL, `assignee_id` INT NULL, `assignee_name` VARCHAR(64) NULL, `status` VARCHAR(16) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING/DONE/EXHAUSTED', `attempts` INT NOT NULL DEFAULT 0, `next_retry_at` DATETIME(6) NULL, `last_error` VARCHAR(255) NULL, `create_by` VARCHAR(255) NULL, `create_time` DATETIME(6) NULL, `update_by` VARCHAR(255) NULL, `update_time` DATETIME(6) NULL, PRIMARY KEY (`id`), KEY `idx_flw_advance_intent_due` (`status`, `next_retry_at`), KEY `idx_flw_advance_intent_instance` (`instance_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '待推进意图(T05 办理事务内持久化+事务外 worker)'; -- 2026-10-25 T01:应用使用授权(学校×流程线×稳定应用主体) -- ddl-auto=update 会自动建表;本脚本为生产备案(生产建议停自动 DDL 后手工执行) -- 撤权语义:enabled=0 只拦新发起;已受理命令回执恢复与在途实例不回读本表。 CREATE TABLE IF NOT EXISTS `flw_usage_grant` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `sch_id` BIGINT NOT NULL COMMENT '租户键', `flow_guid` VARCHAR(64) NOT NULL COMMENT '流程线稳定身份(跨版本不变)', `app_id` INT NOT NULL COMMENT '稳定应用主体主键(UserBase application_info.id)', `app_key_snapshot` VARCHAR(64) NULL COMMENT '授权时 appKey 快照(审计回溯;判权不读)', `app_name_snapshot` VARCHAR(128) NULL COMMENT '授权时应用名快照', `enabled` INT NOT NULL DEFAULT 1 COMMENT '1=许可生效;0=撤销(只拦新发起)', `remark` VARCHAR(255) NULL COMMENT '备注(人工审计线索)', `create_by` VARCHAR(64) NULL, `create_time` DATETIME(6) NULL, `update_by` VARCHAR(64) NULL, `update_time` DATETIME(6) NULL, PRIMARY KEY (`id`), UNIQUE KEY `uk_flw_usage_grant` (`sch_id`, `flow_guid`, `app_id`), KEY `idx_flw_usage_grant_sch_flow` (`sch_id`, `flow_guid`), KEY `idx_flw_usage_grant_app` (`app_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '应用使用授权(T01 三权分立:使用许可≠定义管理权≠flw_app 白名单)'; ALTER TABLE flw_usage_grant ADD COLUMN source_principal_id VARCHAR(36) NULL; ALTER TABLE flw_callback_reg ADD COLUMN source_principal_id VARCHAR(36) NULL; CREATE TABLE flw_command_source ( id varchar(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL PRIMARY KEY, app_id int NOT NULL ) ENGINE=InnoDB; CREATE TABLE flw_biz_coordinate ( id bigint NOT NULL AUTO_INCREMENT PRIMARY KEY, sch_id bigint NOT NULL, source_principal_id varchar(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL, biz_type varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, biz_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, last_round int NOT NULL DEFAULT 0, last_instance_id bigint NULL, active_instance_id bigint NULL, create_by varchar(255) NULL, create_time datetime NULL, update_by varchar(255) NULL, update_time datetime NULL, UNIQUE KEY uk_flw_coord(sch_id,source_principal_id,biz_type,biz_id) ) ENGINE=InnoDB; CREATE TABLE flw_apply_command ( id bigint NOT NULL AUTO_INCREMENT PRIMARY KEY, sch_id bigint NOT NULL, source_principal_id varchar(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL, request_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, canonical_hash varchar(64) CHARACTER SET ascii COLLATE ascii_bin NOT NULL, canonical_version int NOT NULL, biz_type varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, biz_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, flow_guid varchar(32) NOT NULL, state varchar(16) NOT NULL, instance_id bigint NULL, apply_round int NULL, def_id bigint NULL, def_version int NULL, reject_code varchar(64) NULL, reject_detail varchar(500) NULL, create_by varchar(255) NULL, create_time datetime NULL, update_by varchar(255) NULL, update_time datetime NULL, UNIQUE KEY uk_flw_command_request(sch_id,source_principal_id,request_id), KEY idx_flw_command_instance(instance_id) ) ENGINE=InnoDB; ALTER TABLE flw_advance_intent ADD COLUMN activation_task_id BIGINT NULL, ADD COLUMN activation_task_ids LONGTEXT NULL, ADD COLUMN handled_task_ids LONGTEXT NULL, ADD COLUMN trigger_task_id BIGINT NULL, ADD COLUMN activation_def_id BIGINT NULL, ADD COLUMN activation_def_version INT NULL, ADD COLUMN activation_apply_round INT NULL, ADD COLUMN revision BIGINT NOT NULL DEFAULT 0, ADD UNIQUE KEY uk_flw_advance_activation (activation_task_id);