-- 文档管理:两层结构(文件夹 + 文件) -- 执行: mysql -u root -p duidui_db < docs/migrations/add_doc_tables.sql -- -- 使用文档管理功能前,需在权限表中增加 document:manage(或在管理后台权限管理里新增), -- 并为相应角色勾选该权限;超级管理员无需配置即可访问。 -- 文件夹表(仅一层,无 parent_id) CREATE TABLE IF NOT EXISTS doc_folders ( id VARCHAR(64) NOT NULL PRIMARY KEY COMMENT '主键', name VARCHAR(128) NOT NULL COMMENT '文件夹名称', sort_order INT NOT NULL DEFAULT 0 COMMENT '排序(升序)', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文档文件夹'; -- 文档表(属于某个文件夹) CREATE TABLE IF NOT EXISTS doc_files ( id VARCHAR(64) NOT NULL PRIMARY KEY COMMENT '主键', folder_id VARCHAR(64) NOT NULL COMMENT '所属文件夹 id', name VARCHAR(256) NOT NULL COMMENT '显示名称', file_name VARCHAR(256) NOT NULL DEFAULT '' COMMENT '原始文件名', file_url VARCHAR(1024) NOT NULL COMMENT '文件访问 URL(OSS 或相对路径)', file_size BIGINT NOT NULL DEFAULT 0 COMMENT '文件大小(字节)', mime_type VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'MIME 类型,如 application/pdf', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, KEY idx_folder_id (folder_id), KEY idx_created_at (created_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文档文件';