feat(P7.1): remove task_type='task' — migrate to issue/defect, update defaults and DB migration

This commit is contained in:
zhi
2026-03-17 16:05:32 +00:00
parent 3afbbc2a88
commit 89e3bcdd0f
5 changed files with 10 additions and 6 deletions

View File

@@ -129,7 +129,7 @@ def _migrate_schema():
# tasks extra fields
result = db.execute(text("SHOW COLUMNS FROM tasks LIKE 'task_type'"))
if not result.fetchone():
db.execute(text("ALTER TABLE tasks ADD COLUMN task_type VARCHAR(32) DEFAULT 'task'"))
db.execute(text("ALTER TABLE tasks ADD COLUMN task_type VARCHAR(32) DEFAULT 'issue'"))
result = db.execute(text("SHOW COLUMNS FROM tasks LIKE 'task_subtype'"))
if not result.fetchone():
db.execute(text("ALTER TABLE tasks ADD COLUMN task_subtype VARCHAR(64) NULL"))
@@ -194,6 +194,10 @@ def _migrate_schema():
if not _has_column(db, "milestones", "started_at"):
db.execute(text("ALTER TABLE milestones ADD COLUMN started_at DATETIME NULL"))
# --- P7.1: Migrate task_type='task' to 'issue' ---
if _has_table(db, "tasks") and _has_column(db, "tasks", "task_type"):
db.execute(text("UPDATE tasks SET task_type='issue' WHERE task_type='task'"))
# --- Task status enum migration (old -> new) ---
if _has_table(db, "tasks"):
# Widen enum first