148 lines
7.4 KiB
Python
148 lines
7.4 KiB
Python
import sqlite3
|
|
from datetime import datetime
|
|
|
|
conn = sqlite3.connect('/app/tracker.db')
|
|
cursor = conn.cursor()
|
|
|
|
# 创建表
|
|
cursor.execute('''CREATE TABLE IF NOT EXISTS tasks (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
description TEXT,
|
|
status TEXT DEFAULT 'pending',
|
|
phase TEXT,
|
|
milestone TEXT,
|
|
priority TEXT DEFAULT 'medium',
|
|
created_at TEXT
|
|
)''')
|
|
|
|
cursor.execute('''CREATE TABLE IF NOT EXISTS milestones (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
phase TEXT,
|
|
start_date TEXT,
|
|
end_date TEXT,
|
|
status TEXT DEFAULT 'pending',
|
|
description TEXT
|
|
)''')
|
|
|
|
cursor.execute('''CREATE TABLE IF NOT EXISTS logs (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
task_id INTEGER,
|
|
message TEXT,
|
|
created_at TEXT
|
|
)''')
|
|
|
|
conn.commit()
|
|
print('[OK] Database structure created')
|
|
|
|
# 插入 Phase 4 和 Phase 6 数据
|
|
# Phase 4 里程碑和任务
|
|
milestones = [
|
|
("认证与账号体系", "Phase 4", "2026-06-10", "2026-06-17", "completed"),
|
|
("多租户权限体系", "Phase 4", "2026-06-10", "2026-06-17", "completed"),
|
|
("订阅与计费体系", "Phase 4", "2026-06-10", "2026-06-17", "completed"),
|
|
("前端基础搭建", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
("认证系统", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
("工作空间管理", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
("订阅管理", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
("Admin 后台", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
("个人中心", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
("测试与优化", "Phase 6", "2026-06-17", "2026-06-17", "completed"),
|
|
]
|
|
|
|
for name, phase, start, end, status in milestones:
|
|
cursor.execute("INSERT INTO milestones (name, phase, start_date, end_date, status) VALUES (?, ?, ?, ?, ?)",
|
|
(name, phase, start, end, status))
|
|
|
|
# Phase 4 任务 (30个)
|
|
phase4_tasks = [
|
|
("JWT 工具类实现", "认证与账号体系", "completed", "high"),
|
|
("bcrypt 密码哈希", "认证与账号体系", "completed", "high"),
|
|
("Redis Session 存储", "认证与账号体系", "completed", "high"),
|
|
("邮件服务封装", "认证与账号体系", "completed", "medium"),
|
|
("User 实体扩展", "认证与账号体系", "completed", "high"),
|
|
("注册 API", "认证与账号体系", "completed", "high"),
|
|
("登录 API", "认证与账号体系", "completed", "high"),
|
|
("登出 API", "认证与账号体系", "completed", "high"),
|
|
("刷新 Token API", "认证与账号体系", "completed", "high"),
|
|
("密码重置流程", "认证与账号体系", "completed", "medium"),
|
|
("WorkspaceMembership 实体", "多租户权限体系", "completed", "high"),
|
|
("WorkspaceRole 枚举", "多租户权限体系", "completed", "high"),
|
|
("权限检查中间件", "多租户权限体系", "completed", "high"),
|
|
("数据隔离过滤器", "多租户权限体系", "completed", "high"),
|
|
("邀请成员 API", "多租户权限体系", "completed", "high"),
|
|
("接受/拒绝邀请 API", "多租户权限体系", "completed", "medium"),
|
|
("移除成员 API", "多租户权限体系", "completed", "medium"),
|
|
("修改成员角色 API", "多租户权限体系", "completed", "medium"),
|
|
("转让 Workspace 所有权", "多租户权限体系", "completed", "low"),
|
|
("权限矩阵验证", "多租户权限体系", "completed", "high"),
|
|
("Subscription 实体", "订阅与计费体系", "completed", "high"),
|
|
("SubscriptionPlan 枚举", "订阅与计费体系", "completed", "high"),
|
|
("配额检查工具", "订阅与计费体系", "completed", "high"),
|
|
("套餐限制中间件", "订阅与计费体系", "completed", "high"),
|
|
("支付宝 SDK 集成", "订阅与计费体系", "pending", "medium"),
|
|
("微信支付 SDK 集成", "订阅与计费体系", "pending", "medium"),
|
|
("创建支付订单 API", "订阅与计费体系", "pending", "medium"),
|
|
("支付回调处理", "订阅与计费体系", "pending", "medium"),
|
|
("Invoice 实体", "订阅与计费体系", "completed", "medium"),
|
|
("生成账单 PDF", "订阅与计费体系", "pending", "low"),
|
|
]
|
|
|
|
for name, milestone, status, priority in phase4_tasks:
|
|
cursor.execute("INSERT INTO tasks (name, milestone, status, phase, priority, created_at) VALUES (?, ?, ?, ?, ?, ?)",
|
|
(name, milestone, status, "Phase 4", priority, datetime.now().isoformat()))
|
|
|
|
# Phase 6 任务 (40个)
|
|
phase6_tasks = [
|
|
("项目初始化", "前端基础搭建", "completed", "high"),
|
|
("安装配置依赖包", "前端基础搭建", "completed", "high"),
|
|
("搭建基础布局", "前端基础搭建", "completed", "high"),
|
|
("API 客户端封装", "前端基础搭建", "completed", "high"),
|
|
("路由配置", "前端基础搭建", "completed", "high"),
|
|
("设计系统配置", "前端基础搭建", "completed", "medium"),
|
|
("TypeScript 类型定义", "前端基础搭建", "completed", "medium"),
|
|
("登录页面", "认证系统", "completed", "high"),
|
|
("注册页面", "认证系统", "completed", "high"),
|
|
("忘记密码页面", "认证系统", "completed", "high"),
|
|
("重置密码页面", "认证系统", "completed", "high"),
|
|
("Token 管理", "认证系统", "completed", "high"),
|
|
("工作空间列表", "工作空间管理", "completed", "high"),
|
|
("工作空间详情", "工作空间管理", "completed", "high"),
|
|
("成员列表管理", "工作空间管理", "completed", "high"),
|
|
("邀请成员功能", "工作空间管理", "completed", "high"),
|
|
("权限矩阵展示", "工作空间管理", "completed", "medium"),
|
|
("工作空间设置", "工作空间管理", "completed", "medium"),
|
|
("套餐选择页面", "订阅管理", "completed", "high"),
|
|
("升级流程", "订阅管理", "completed", "high"),
|
|
("配额展示组件", "订阅管理", "completed", "high"),
|
|
("账单页面", "订阅管理", "completed", "medium"),
|
|
("发票申请", "订阅管理", "completed", "low"),
|
|
("Dashboard 仪表盘", "Admin 后台", "completed", "high"),
|
|
("用户管理页面", "Admin 后台", "completed", "high"),
|
|
("用户操作功能", "Admin 后台", "completed", "high"),
|
|
("系统监控页面", "Admin 后台", "completed", "medium"),
|
|
("日志查看器", "Admin 后台", "completed", "medium"),
|
|
("个人设置页面", "个人中心", "completed", "medium"),
|
|
("账号安全设置", "个人中心", "completed", "high"),
|
|
("通知设置", "个人中心", "completed", "medium"),
|
|
("Session 管理", "个人中心", "completed", "medium"),
|
|
("单元测试", "测试与优化", "completed", "high"),
|
|
("E2E 测试:认证", "测试与优化", "completed", "high"),
|
|
("E2E 测试:工作空间", "测试与优化", "completed", "high"),
|
|
("E2E 测试:订阅", "测试与优化", "completed", "medium"),
|
|
("性能优化:代码分割", "测试与优化", "completed", "high"),
|
|
("性能优化:资源", "测试与优化", "completed", "medium"),
|
|
("可访问性优化", "测试与优化", "completed", "medium"),
|
|
("移动端适配", "测试与优化", "completed", "medium"),
|
|
]
|
|
|
|
for name, milestone, status, priority in phase6_tasks:
|
|
cursor.execute("INSERT INTO tasks (name, milestone, status, phase, priority, created_at) VALUES (?, ?, ?, ?, ?, ?)",
|
|
(name, milestone, status, "Phase 6", priority, datetime.now().isoformat()))
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
print('[SUCCESS] tracker.db initialized with 70 tasks and 10 milestones')
|