19 lines
1.2 KiB
MySQL
19 lines
1.2 KiB
MySQL
|
|
CREATE TABLE IF NOT EXISTS `share_links` (
|
|||
|
|
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '分享ID',
|
|||
|
|
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
|||
|
|
`share_type` VARCHAR(20) NOT NULL COMMENT '分享类型: project/file',
|
|||
|
|
`share_code` VARCHAR(64) NOT NULL COMMENT '公开分享码',
|
|||
|
|
`file_path` VARCHAR(500) DEFAULT NULL COMMENT '文件路径,仅文件分享使用',
|
|||
|
|
`access_pass` VARCHAR(100) DEFAULT NULL COMMENT '访问密码',
|
|||
|
|
`created_by` BIGINT DEFAULT NULL COMMENT '创建人ID',
|
|||
|
|
`status` TINYINT DEFAULT 1 COMMENT '状态:0-禁用 1-启用',
|
|||
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|||
|
|
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|||
|
|
UNIQUE KEY `uk_share_code` (`share_code`),
|
|||
|
|
INDEX `idx_share_project` (`project_id`, `share_type`, `status`),
|
|||
|
|
INDEX `idx_share_file` (`project_id`, `file_path`(255), `status`),
|
|||
|
|
INDEX `idx_share_created_by` (`created_by`),
|
|||
|
|
FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
|||
|
|
FOREIGN KEY (`created_by`) REFERENCES `users`(`id`) ON DELETE SET NULL
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分享链接表';
|