Files
shanxia2.0/docs/sql/20261026_simple_doclib.sql

61 lines
3.5 KiB
SQL

-- 简单文档库;MySQL 5.7,增量、可重复执行,不修改 Cloudreve 和已有表。
-- 执行前确认当前连接是目标门户数据库;所有业务删除使用 del_flag。
SET NAMES utf8mb4;
CREATE TABLE IF NOT EXISTS `biz_doclib_folder` (
`id` varchar(64) NOT NULL COMMENT '主键UUID',
`name` varchar(120) NOT NULL COMMENT '文件夹名称',
`parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父文件夹ID,空为根目录',
`tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
`order_num` int DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `ix_doclib_folder_owner` (`tenant_no`,`create_by`,`parent_id`,`del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `biz_doclib_file` (
`id` varchar(64) NOT NULL COMMENT '主键UUID',
`name` varchar(255) NOT NULL COMMENT '原文件名',
`folder_id` varchar(64) NOT NULL DEFAULT '' COMMENT '所属文件夹',
`size` bigint NOT NULL COMMENT '字节数',
`content_type` varchar(255) NOT NULL DEFAULT 'application/octet-stream' COMMENT '原始媒体类型',
`object_key` varchar(512) NOT NULL COMMENT '私有对象键,不对外暴露',
`tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
`order_num` int DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `ix_doclib_file_owner` (`tenant_no`,`create_by`,`del_flag`,`create_time`),
KEY `ix_doclib_file_folder` (`tenant_no`,`folder_id`,`del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `biz_doclib_share` (
`id` varchar(64) NOT NULL COMMENT '主键UUID',
`file_id` varchar(64) NOT NULL COMMENT '文档ID',
`user_id` varchar(64) NOT NULL COMMENT '被分享用户ID',
`tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
`order_num` int DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_doclib_share_user` (`tenant_no`,`file_id`,`user_id`),
KEY `ix_doclib_share_recipient` (`tenant_no`,`user_id`,`del_flag`,`file_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;