数据库设计
表结构
users (用户表)
| 字段 |
类型 |
说明 |
| id |
INTEGER PRIMARY KEY |
用户ID |
| username |
VARCHAR(50) UNIQUE |
用户名 |
| password_hash |
VARCHAR(255) |
密码哈希 |
| email |
VARCHAR(100) |
邮箱 |
| created_at |
DATETIME |
创建时间 |
| updated_at |
DATETIME |
更新时间 |
| storage_used |
BIGINT |
已用存储(字节) |
| storage_limit |
BIGINT |
存储上限(字节) |
files (文件表)
| 字段 |
类型 |
说明 |
| id |
INTEGER PRIMARY KEY |
文件ID |
| user_id |
INTEGER |
所属用户ID |
| parent_id |
INTEGER |
父文件夹ID |
| name |
VARCHAR(255) |
文件名 |
| type |
VARCHAR(20) |
文件类型 |
| size |
BIGINT |
文件大小 |
| path |
VARCHAR(500) |
存储路径 |
| hash |
VARCHAR(64) |
文件哈希 |
| is_folder |
BOOLEAN |
是否文件夹 |
| created_at |
DATETIME |
创建时间 |
| updated_at |
DATETIME |
更新时间 |
| deleted_at |
DATETIME |
删除时间 |
shares (分享表)
| 字段 |
类型 |
说明 |
| id |
INTEGER PRIMARY KEY |
分享ID |
| file_id |
INTEGER |
文件ID |
| share_token |
VARCHAR(64) |
分享令牌 |
| password |
VARCHAR(255) |
访问密码 |
| expires_at |
DATETIME |
过期时间 |
| view_count |
INTEGER |
查看次数 |
| created_at |
DATETIME |
创建时间 |
sync_logs (同步日志)
| 字段 |
类型 |
说明 |
| id |
INTEGER PRIMARY KEY |
日志ID |
| user_id |
INTEGER |
用户ID |
| file_id |
INTEGER |
文件ID |
| action |
VARCHAR(20) |
操作类型 |
| status |
VARCHAR(20) |
状态 |
| created_at |
DATETIME |
创建时间 |
索引
- files: user_id, parent_id, hash
- shares: share_token
- sync_logs: user_id, created_at