2025-12-02 13:21:18 +08:00
|
|
|
|
CREATE SCHEMA IF NOT EXISTS file;
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS file.tb_sys_file CASCADE;
|
|
|
|
|
|
CREATE TABLE file.tb_sys_file (
|
2025-12-09 18:07:44 +08:00
|
|
|
|
-- BaseDTO 继承字段
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 操作流水号
|
|
|
|
|
|
creator VARCHAR(50) DEFAULT NULL, -- 创建人
|
|
|
|
|
|
updater VARCHAR(50) DEFAULT NULL, -- 更新人
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门路径
|
|
|
|
|
|
remark TEXT DEFAULT NULL, -- 备注
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
2025-12-09 18:07:44 +08:00
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
2025-12-02 13:36:09 +08:00
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
2025-12-20 13:33:08 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否已删除(false-未删除,true-已删除)
|
2025-12-09 18:07:44 +08:00
|
|
|
|
|
|
|
|
|
|
-- TbSysFileDTO 特有字段
|
|
|
|
|
|
file_id VARCHAR(50) NOT NULL, -- 文件ID (主键)
|
2025-12-15 15:26:05 +08:00
|
|
|
|
file_root_id VARCHAR(50) DEFAULT NULL, -- 文件根ID
|
2025-12-18 16:48:45 +08:00
|
|
|
|
version INTEGER DEFAULT 1, -- 文件版本
|
2025-12-09 18:07:44 +08:00
|
|
|
|
name VARCHAR(255) NOT NULL, -- 文件名
|
|
|
|
|
|
path VARCHAR(500) NOT NULL, -- 文件路径
|
|
|
|
|
|
size BIGINT NOT NULL, -- 文件大小(字节)
|
|
|
|
|
|
type VARCHAR(50) DEFAULT NULL, -- 文件类型
|
|
|
|
|
|
storage_type VARCHAR(50) DEFAULT NULL, -- 存储类型
|
|
|
|
|
|
mime_type VARCHAR(255) DEFAULT NULL, -- MIME 类型
|
|
|
|
|
|
url VARCHAR(500) DEFAULT NULL, -- 文件访问 URL
|
|
|
|
|
|
status VARCHAR(50) DEFAULT NULL, -- 文件状态
|
|
|
|
|
|
module VARCHAR(100) DEFAULT NULL, -- 所属模块
|
|
|
|
|
|
business_id VARCHAR(50) DEFAULT NULL, -- 业务ID
|
|
|
|
|
|
uploader VARCHAR(50) DEFAULT NULL, -- 上传者用户ID
|
|
|
|
|
|
object_name VARCHAR(500) DEFAULT NULL, -- MinIO对象名称
|
|
|
|
|
|
bucket_name VARCHAR(100) DEFAULT NULL, -- MinIO存储桶名称
|
|
|
|
|
|
md5_hash VARCHAR(32) DEFAULT NULL, -- 文件MD5值
|
|
|
|
|
|
extension VARCHAR(20) DEFAULT NULL, -- 文件扩展名
|
|
|
|
|
|
|
2025-12-02 13:21:18 +08:00
|
|
|
|
PRIMARY KEY (file_id),
|
|
|
|
|
|
UNIQUE (optsn)
|
|
|
|
|
|
);
|
2025-12-02 14:59:34 +08:00
|
|
|
|
|
2025-12-09 18:07:44 +08:00
|
|
|
|
COMMENT ON TABLE file.tb_sys_file IS '系统文件表';
|
|
|
|
|
|
|
|
|
|
|
|
-- BaseDTO 继承字段注释
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.optsn IS '操作流水号';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.creator IS '创建人';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.updater IS '更新人';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.dept_path IS '部门路径';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.remark IS '备注';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.create_time IS '创建时间';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.update_time IS '更新时间';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.delete_time IS '删除时间';
|
2025-12-20 13:33:08 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.deleted IS '是否已删除(false-未删除,true-已删除)';
|
2025-12-09 18:07:44 +08:00
|
|
|
|
|
|
|
|
|
|
-- TbSysFileDTO 特有字段注释
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.file_id IS '文件ID (主键)';
|
2025-12-15 15:26:05 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.file_root_id IS '文件根ID';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.version IS '文件版本';
|
2025-12-02 13:21:18 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.name IS '文件名';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.path IS '文件路径';
|
2025-12-09 18:07:44 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.size IS '文件大小(字节)';
|
2025-12-02 13:21:18 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.type IS '文件类型';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.storage_type IS '存储类型';
|
2025-12-09 18:07:44 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.mime_type IS 'MIME 类型';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.url IS '文件访问 URL';
|
2025-12-02 13:21:18 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.status IS '文件状态';
|
2025-12-09 18:07:44 +08:00
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.module IS '所属模块';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.business_id IS '业务ID';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.uploader IS '上传者用户ID';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.object_name IS 'MinIO对象名称';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.bucket_name IS 'MinIO存储桶名称';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.md5_hash IS '文件MD5值';
|
|
|
|
|
|
COMMENT ON COLUMN file.tb_sys_file.extension IS '文件扩展名';
|
|
|
|
|
|
|
|
|
|
|
|
-- 文件表索引
|
2025-12-20 13:33:08 +08:00
|
|
|
|
-- CREATE INDEX idx_file_module_business ON file.tb_sys_file(module, business_id) WHERE deleted = false;
|
|
|
|
|
|
-- CREATE INDEX idx_file_uploader ON file.tb_sys_file(uploader) WHERE deleted = false;
|
|
|
|
|
|
-- CREATE INDEX idx_file_bucket ON file.tb_sys_file(bucket_name) WHERE deleted = false;
|
|
|
|
|
|
-- CREATE INDEX idx_file_status ON file.tb_sys_file(status) WHERE deleted = false;
|
|
|
|
|
|
-- CREATE INDEX idx_file_create_time ON file.tb_sys_file(create_time) WHERE deleted = false;
|
|
|
|
|
|
-- CREATE INDEX idx_file_md5 ON file.tb_sys_file(md5_hash) WHERE deleted = false;
|