build / build-push (push) Failing after 55s
在 b369527 之上增量移植 FL2.0 后端能力,不改既有线级停发/指派预览/流程图入口:
- 部门目录:FlowDepartmentController(/admin/department/{groups,options,resolve,members})
+ UserBaseDepartmentDirectory(先按会话校域解析引用,再读成员;目录不可用 fail-closed)
- 退回重提 D14:POST /oapi/flow/instance/{instanceId}/resubmit,仅原提交人 CAS 路径放行,
OAPI 侧 submitterId 路径继续 fail-closed
- 授权管理:/api/flow/admin/usage-grant/{schoolList,summary}(校域取管理员会话,无 schId 入参)
- 来源主体:解析器派生 ub-app:{applicationInfo.id},不再读取 UserBase 的 sourcePrincipalId 字段
- 回调来源策略:SELF 身份强校验;NULL 来源不广播;复合幂等键 (event_id,reg_id)
- 测试夹具:许可/主体/开通桩按新契约修正,FlowEngineIT/FormalApplyCommandIT/
CallbackDispatchIT/OapiFlowContractIT 共 117 例在真实 MySQL 8 通过
不含:FlSourceAuthorizationTest(其断言的两个 Repository 派生方法属另一实现线)
450 lines
23 KiB
SQL
450 lines
23 KiB
SQL
|
||
/*!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);
|
||
|