This commit is contained in:
zlwu committed 2026-08-20 18:15:07 +08:00
1 parent 6a0f1206fa
commit 672f45befd
18 files changed
+624504 -2

No files matched your search

@@ -0,0 +1,60 @@
-- ================================================
-- 专业合并:批次表 + 行级快照表
-- 用途:合并前备份将被修改的行,便于错误恢复
-- 日期:2026-08-18
-- ================================================
-- ----------------------------
-- 专业合并批次表
-- ----------------------------
DROP TABLE IF EXISTS `xg_major_merge_batch`;
CREATE TABLE `xg_major_merge_batch` (
`id` bigint(20) NOT NULL COMMENT '主键ID(merge_batch_id)',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
`college_id` bigint(20) DEFAULT NULL COMMENT '所属学院ID',
`target_major_id` bigint(20) NOT NULL COMMENT '目标专业ID',
`target_major_name` varchar(100) DEFAULT NULL COMMENT '目标专业名称',
`source_major_ids` varchar(2000) NOT NULL COMMENT '源专业ID列表(JSON数组)',
`source_major_names` varchar(2000) DEFAULT NULL COMMENT '源专业名称列表(JSON数组)',
`status` varchar(20) NOT NULL DEFAULT 'RUNNING' COMMENT '状态:RUNNING/SUCCESS/FAILED/ROLLED_BACK',
`summary_json` mediumtext COMMENT '各表更新行数摘要(JSON)',
`snapshot_row_count` int(11) DEFAULT 0 COMMENT '快照行数',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_id` (`tenant_id`),
KEY `idx_deleted` (`deleted`),
KEY `idx_target_major_id` (`target_major_id`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='专业合并批次表';
-- ----------------------------
-- 专业合并行级快照表
-- ----------------------------
DROP TABLE IF EXISTS `xg_major_merge_row_snapshot`;
CREATE TABLE `xg_major_merge_row_snapshot` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
`merge_batch_id` bigint(20) NOT NULL COMMENT '合并批次ID',
`table_name` varchar(128) NOT NULL COMMENT '原表名',
`row_pk` varchar(200) NOT NULL COMMENT '原表主键(联合主键用下划线拼接)',
`row_json` mediumtext NOT NULL COMMENT '更新前整行JSON',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_id` (`tenant_id`),
KEY `idx_deleted` (`deleted`),
KEY `idx_merge_batch_id` (`merge_batch_id`),
KEY `idx_table_name` (`table_name`),
KEY `idx_batch_table` (`merge_batch_id`, `table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='专业合并行级快照表';