clouddisk-project/architecture/database.md
Team f339513be8 团队工作进展:
- UI设计: 文件列表页 Draw.io 设计稿
- 架构: 数据库设计文档
- 后端: 用户认证接口实现 (login/register)

待完成:
- 前端 Electron 主进程开发
- 文件管理 API 开发
- 测试用例编写
2026-03-10 07:24:38 +00:00

58 lines
1.7 KiB
Markdown

# 数据库设计
## 表结构
### 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