20261026_simple_doclib.sql 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -- 简单文档库;MySQL 5.7,增量、可重复执行,不修改 Cloudreve 和已有表。
  2. -- 执行前确认当前连接是目标门户数据库;所有业务删除使用 del_flag。
  3. SET NAMES utf8mb4;
  4. CREATE TABLE IF NOT EXISTS `biz_doclib_folder` (
  5. `id` varchar(64) NOT NULL COMMENT '主键UUID',
  6. `name` varchar(120) NOT NULL COMMENT '文件夹名称',
  7. `parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父文件夹ID,空为根目录',
  8. `tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
  9. `order_num` int DEFAULT NULL COMMENT '排序号',
  10. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  11. `create_by` varchar(64) NOT NULL COMMENT '创建人',
  12. `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
  13. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  14. `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
  15. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  16. `del_flag` smallint NOT NULL DEFAULT 0 COMMENT '删除标记',
  17. PRIMARY KEY (`id`),
  18. KEY `ix_doclib_folder_owner` (`tenant_no`,`create_by`,`parent_id`,`del_flag`)
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  20. CREATE TABLE IF NOT EXISTS `biz_doclib_file` (
  21. `id` varchar(64) NOT NULL COMMENT '主键UUID',
  22. `name` varchar(255) NOT NULL COMMENT '原文件名',
  23. `folder_id` varchar(64) NOT NULL DEFAULT '' COMMENT '所属文件夹',
  24. `size` bigint NOT NULL COMMENT '字节数',
  25. `content_type` varchar(255) NOT NULL DEFAULT 'application/octet-stream' COMMENT '原始媒体类型',
  26. `object_key` varchar(512) NOT NULL COMMENT '私有对象键,不对外暴露',
  27. `tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
  28. `order_num` int DEFAULT NULL COMMENT '排序号',
  29. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  30. `create_by` varchar(64) NOT NULL COMMENT '创建人',
  31. `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
  32. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  33. `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
  34. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  35. `del_flag` smallint NOT NULL DEFAULT 0 COMMENT '删除标记',
  36. PRIMARY KEY (`id`),
  37. KEY `ix_doclib_file_owner` (`tenant_no`,`create_by`,`del_flag`,`create_time`),
  38. KEY `ix_doclib_file_folder` (`tenant_no`,`folder_id`,`del_flag`)
  39. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
  40. CREATE TABLE IF NOT EXISTS `biz_doclib_share` (
  41. `id` varchar(64) NOT NULL COMMENT '主键UUID',
  42. `file_id` varchar(64) NOT NULL COMMENT '文档ID',
  43. `user_id` varchar(64) NOT NULL COMMENT '被分享用户ID',
  44. `tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
  45. `order_num` int DEFAULT NULL COMMENT '排序号',
  46. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  47. `create_by` varchar(64) NOT NULL COMMENT '创建人',
  48. `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建部门',
  49. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  50. `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
  51. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  52. `del_flag` smallint NOT NULL DEFAULT 0 COMMENT '删除标记',
  53. PRIMARY KEY (`id`),
  54. UNIQUE KEY `uk_doclib_share_user` (`tenant_no`,`file_id`,`user_id`),
  55. KEY `ix_doclib_share_recipient` (`tenant_no`,`user_id`,`del_flag`,`file_id`)
  56. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;