diff --git a/src/blackboard/db.py b/src/blackboard/db.py index 73d58cb..184b7c9 100644 --- a/src/blackboard/db.py +++ b/src/blackboard/db.py @@ -62,6 +62,9 @@ def _migrate_v28(conn: sqlite3.Connection) -> None: # 重建 tasks 表以更新 CHECK 约束 # 幂等检查:如果 tasks_v28 已存在(上次中断),先清理 conn.execute("DROP TABLE IF EXISTS tasks_v28") + # 迁移期间禁用 FK 检查(DROP TABLE tasks 会触发 events FK 约束) + fk_was_on = conn.execute("PRAGMA foreign_keys").fetchone()[0] + conn.execute("PRAGMA foreign_keys = OFF") conn.executescript(""" CREATE TABLE tasks_v28 ( id TEXT PRIMARY KEY,