Files
xiaoxia-saas/init_tracker_simple.py
T

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')