Files
hzdyjs/docs/设计文档/database/专业信息管理/专业合并快照表结构.sql
T
2026-08-20 18:15:07 +08:00

61 lines
3.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ================================================
-- 专业合并:批次表 + 行级快照表
-- 用途:合并前备份将被修改的行,便于错误恢复
-- 日期: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='专业合并行级快照表';