Simon Willison · 博客

sqlite-utils 4.1.1

sqlite-utils 4.1.1

二〇二六年八月二十六日 · 英文原文

sqlite-utils 4.1.1 发布,修复了一个边缘情况:当启用 PRAGMA foreign_keys 且表被具有破坏性 ON DELETE 动作(CASCADE、SET NULL、SET DEFAULT)的外键引用时,在事务中调用 table.transform() 会引发 TransactionError,避免静默删除或修改引用行。此外,CLI 与 Python API 文档新增相互交叉引用(#791)。

发布:sqlite-utils 4.1.1
主要修复了一个边缘情况,该情况由常规 Claude 聊天在实验 4.1 版本以回答关于 ON DELETE 的问题时发现。现在,如果在启用 PRAGMA foreign_keys 且表被具有破坏性 ON DELETE 动作(CASCADE、SET NULL 或 SET DEFAULT)的外键引用时,在事务打开状态下调用 table.transform(),则会引发 TransactionError。由于 pragma 无法在事务内部更改,因此之前作为 transform 一部分删除旧表时,可能会触发这些动作,并静默删除或修改引用行。详见 Foreign keys and transactions 以了解详情和解决方法。(#794)
CLI 和 Python API 文档现在相互交叉引用:CLI 部分链接到对应的 Python API 功能,Python API 部分则链接回相应的 CLI 命令。(#791)
标签:sqlite、sqlite-utils

译自 Simon Willison · 博客 · 录于 二〇二六年八月二十六日