Files
xj-oss-syn/sql/init.sql
T
lianlonggangandClaude Sonnet 4.6 3fddada267 feat: 初始化 xj-oss-syn 项目
- OSS 文件同步核心功能:扫描业务表、上传文件、回写路径
- 业务文件映射配置表(BIZ_FILE_MAPPING),支持动态管理、启用/禁用、自定义 bizPath
- 同步任务异步执行,前端实时轮询进度
- 全局异常过滤器,统一错误日志输出
- 文件日志/任务历史清理接口
- 管理页面:同步管理 + 映射配置 Tab

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:55:44 +08:00

57 lines
3.7 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.
-- ============================================================
-- QH_OSS_FILE_LOG 文件转换日志表
-- 数据源1(本项目数据库)
-- ============================================================
CREATE TABLE IF NOT EXISTS `QH_OSS_FILE_LOG` (
`ID` BIGINT NOT NULL COMMENT '主键(雪花ID',
`OSS_PATH` VARCHAR(512) DEFAULT NULL COMMENT 'OSS路径(上传成功后填入)',
`BIZ_TAB_NAME` VARCHAR(128) NOT NULL COMMENT '业务表名',
`BIZ_TAB_ID` VARCHAR(64) NOT NULL COMMENT '业务表主键值',
`BIZ_COL_NAME` VARCHAR(128) NOT NULL COMMENT '业务表列名(文件路径字段)',
`BIZ_TAB_PATH` VARCHAR(512) DEFAULT NULL COMMENT '业务表中原始文件路径',
`BIZ_HANDLE_STATUS` TINYINT NOT NULL DEFAULT 0 COMMENT '处理状态:0=待处理,1=上传成功,2=上传失败,3=文件不存在,4=已回写',
`CREATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UPDATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`ID`),
INDEX `idx_biz_tab` (`BIZ_TAB_NAME`, `BIZ_TAB_ID`),
INDEX `idx_status` (`BIZ_HANDLE_STATUS`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件转换日志表';
-- ============================================================
-- SYNC_TASK 同步任务记录表
-- 记录每次触发的同步任务进度,供前端轮询展示
-- ============================================================
CREATE TABLE IF NOT EXISTS `SYNC_TASK` (
`ID` BIGINT NOT NULL COMMENT '主键(雪花ID',
`TASK_TYPE` VARCHAR(32) NOT NULL COMMENT '任务类型:all/scan/upload/write-back',
`STATUS` TINYINT NOT NULL DEFAULT 0 COMMENT '0=进行中,1=完成,2=失败',
`TOTAL` INT NOT NULL DEFAULT 0 COMMENT '总处理条数',
`SUCCESS` INT NOT NULL DEFAULT 0 COMMENT '成功条数',
`FAIL` INT NOT NULL DEFAULT 0 COMMENT '失败条数',
`MESSAGE` VARCHAR(512) DEFAULT NULL COMMENT '备注/错误信息',
`CREATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UPDATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`ID`),
INDEX `idx_status` (`STATUS`),
INDEX `idx_create_time` (`CREATE_TIME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='同步任务记录表';
-- ============================================================
-- BIZ_FILE_MAPPING 业务文件映射配置表
-- 替代 app.yml 中的 biz-file-mappings 配置,支持动态管理
-- ============================================================
CREATE TABLE IF NOT EXISTS `BIZ_FILE_MAPPING` (
`ID` BIGINT NOT NULL COMMENT '主键(雪花ID',
`DB_NAME` VARCHAR(128) NOT NULL COMMENT '数据库名',
`TABLE_NAME` VARCHAR(128) NOT NULL COMMENT '业务表名',
`ID_COL` VARCHAR(64) NOT NULL DEFAULT 'id' COMMENT '主键列名',
`FILE_COL` VARCHAR(128) NOT NULL COMMENT '文件路径列名',
`BIZ_PATH` VARCHAR(128) DEFAULT NULL COMMENT 'OSS上传业务路径(不填则降级用表名)',
`ENABLED` TINYINT NOT NULL DEFAULT 0 COMMENT '是否有效:0=无效,1=有效',
`REMARK` VARCHAR(256) DEFAULT NULL COMMENT '备注',
`CREATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UPDATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`ID`),
INDEX `idx_enabled` (`ENABLED`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务文件映射配置表';