72 lines
4.3 KiB
SQL
72 lines
4.3 KiB
SQL
-- =============================================================
|
||
-- 升级脚本:MeshSafe 文件安全检测对接
|
||
-- 日期:2026-11-01
|
||
-- 说明:新增 x_file_security 表(按文件编码维度记录安全检测结果)。
|
||
-- 文件上传/传输接收解包后自动提交 MeshSafe 检测,
|
||
-- 检测结论(通过/不通过)回写本表;同一文件允许多条检测
|
||
-- 记录(人工复核、重新检测均新增记录),业务取最新一条生效。
|
||
-- 检测不通过的文件禁止分享与跨网传输(下载预览不受限)。
|
||
-- 执行方式:MySQL/达梦(DM8 MySQL兼容模式)执行第 1 节;
|
||
-- PostgreSQL 执行第 2 节。
|
||
-- =============================================================
|
||
|
||
-- -------------------------------------------------------------
|
||
-- 1. MySQL / 达梦 DM8
|
||
-- -------------------------------------------------------------
|
||
CREATE TABLE `x_file_security` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`file_code` varchar(32) DEFAULT NULL COMMENT '文件编码',
|
||
`task_id` varchar(64) DEFAULT NULL COMMENT 'MeshSafe检测任务ID',
|
||
`scan_status` varchar(2) DEFAULT NULL COMMENT '检测状态:1检测中/2通过/3不通过/4检测失败',
|
||
`action` varchar(32) DEFAULT NULL COMMENT 'MeshSafe处置动作:pass/manual_review/reject',
|
||
`reason` varchar(1024) DEFAULT NULL COMMENT '检测结论说明',
|
||
`result_json` text DEFAULT NULL COMMENT '检测完整结果JSON',
|
||
`review_comment` varchar(512) DEFAULT NULL COMMENT '人工复核说明(人工改判时有值)',
|
||
`deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
|
||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建人',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_by` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||
`proxy_by` bigint(20) DEFAULT NULL COMMENT '代理人',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
KEY `idx_file_security_file_code` (`file_code`) USING BTREE,
|
||
KEY `idx_file_security_scan_status` (`scan_status`) USING BTREE
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件安全检测记录';
|
||
|
||
-- -------------------------------------------------------------
|
||
-- 2. PostgreSQL
|
||
-- -------------------------------------------------------------
|
||
CREATE TABLE x_file_security (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
file_code VARCHAR(32) DEFAULT NULL,
|
||
task_id VARCHAR(64) DEFAULT NULL,
|
||
scan_status VARCHAR(2) DEFAULT NULL,
|
||
action VARCHAR(32) DEFAULT NULL,
|
||
reason VARCHAR(1024) DEFAULT NULL,
|
||
result_json TEXT DEFAULT NULL,
|
||
review_comment VARCHAR(512) DEFAULT NULL,
|
||
deleted BOOLEAN DEFAULT FALSE,
|
||
create_by BIGINT DEFAULT NULL,
|
||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
update_by BIGINT DEFAULT NULL,
|
||
update_time TIMESTAMP DEFAULT NULL,
|
||
proxy_by BIGINT DEFAULT NULL
|
||
);
|
||
CREATE INDEX idx_file_security_file_code ON x_file_security(file_code);
|
||
CREATE INDEX idx_file_security_scan_status ON x_file_security(scan_status);
|
||
COMMENT ON TABLE x_file_security IS '文件安全检测记录';
|
||
COMMENT ON COLUMN x_file_security.id IS '主键ID';
|
||
COMMENT ON COLUMN x_file_security.file_code IS '文件编码';
|
||
COMMENT ON COLUMN x_file_security.task_id IS 'MeshSafe检测任务ID';
|
||
COMMENT ON COLUMN x_file_security.scan_status IS '检测状态:1检测中/2通过/3不通过/4检测失败';
|
||
COMMENT ON COLUMN x_file_security.action IS 'MeshSafe处置动作:pass/manual_review/reject';
|
||
COMMENT ON COLUMN x_file_security.reason IS '检测结论说明';
|
||
COMMENT ON COLUMN x_file_security.result_json IS '检测完整结果JSON';
|
||
COMMENT ON COLUMN x_file_security.review_comment IS '人工复核说明(人工改判时有值)';
|
||
COMMENT ON COLUMN x_file_security.deleted IS '是否删除';
|
||
COMMENT ON COLUMN x_file_security.create_by IS '创建人';
|
||
COMMENT ON COLUMN x_file_security.create_time IS '创建时间';
|
||
COMMENT ON COLUMN x_file_security.update_by IS '修改人';
|
||
COMMENT ON COLUMN x_file_security.update_time IS '修改时间';
|
||
COMMENT ON COLUMN x_file_security.proxy_by IS '代理人';
|