40 lines
1016 B
Markdown
40 lines
1016 B
Markdown
|
|
# 数据模型与存储
|
|||
|
|
|
|||
|
|
四表结构,清晰的实体关系
|
|||
|
|
|
|||
|
|
```mermaid {scale: 0.8}
|
|||
|
|
erDiagram
|
|||
|
|
USER ||--o{ PROJECT : "拥有"
|
|||
|
|
PROJECT ||--|| PROJECT_STYLE : "配置"
|
|||
|
|
PROJECT ||--o{ TASK : "生成"
|
|||
|
|
TASK ||--o{ ASSET : "产出"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
<div class="grid grid-cols-2 gap-4 mt-2">
|
|||
|
|
|
|||
|
|
<Item title="👤 USER 用户表">
|
|||
|
|
- `id`:前缀 + 随机 base62(6 字节 crypto/rand)
|
|||
|
|
- `username`:唯一用户名
|
|||
|
|
- `password_hash`:bcrypt 哈希
|
|||
|
|
</Item>
|
|||
|
|
|
|||
|
|
<Item title="📁 PROJECT 工程表">
|
|||
|
|
- `id`:唯一标识
|
|||
|
|
- `user_id`:外键关联用户
|
|||
|
|
- `name` / `description`:工程信息
|
|||
|
|
</Item>
|
|||
|
|
|
|||
|
|
<Item title="🎨 PROJECT_STYLE 风格表">
|
|||
|
|
- `project_id`:一对一关联工程
|
|||
|
|
- `kv_pairs`:JSON 存储风格键值对
|
|||
|
|
- 支持 `custom:` 前缀自定义标签
|
|||
|
|
</Item>
|
|||
|
|
|
|||
|
|
<Item title="📦 TASK + ASSET 任务/素材表">
|
|||
|
|
- Task:`id` / `project_id` / `prompt` / `status` / `style_override`
|
|||
|
|
- Asset:`id` / `task_id` / `file_url` / `metadata`
|
|||
|
|
- 文件存储:七牛云 Kodo,CDN 签名访问
|
|||
|
|
</Item>
|
|||
|
|
|
|||
|
|
</div>
|