sqlite-utils 4.0rc3 增加复合外键支持

Simon Willison··作者 Simon Willison

关键信息

复合外键相关改动会对 table.foreign_keys 带来一个细微的破坏性变化,因此必须在 4.0 稳定版之前完成。列名大小写不敏感的更新影响了代码库中的多个部分,说明这不是一个简单的小修补。

资讯摘要

Simon Willison 发布了 sqlite-utils 4.0rc3,这是这个 Python SQLite 工具和库的最新发布候选版本。他表示自己原本希望在那个周末推出 sqlite-utils 4.0 稳定版,但在借助 Claude Fable 5 和 GPT-5.5 处理积压的问题与 PR 时,自 rc2 以来的更新日志不断变长。rc3 中最重要的新功能是支持复合外键的检查和创建。Willison 指出,这个功能会对 table.foreign_keys 带来一个细微但重要的破坏性变化,因此必须在 4.0 稳定版之前先合并。

另一个重要改动是 sqlite-utils 现在遵循 SQLite 的约定,将列名视为大小写不敏感。这个更新影响了代码库中的很多地方,说明需要在项目中统一调整相关行为。总体来看,这个版本更像是通向 4.0 稳定版的重要一步,而不是最终正式版本身。

资讯正文

发布:sqlite-utils 4.0rc3

我原本希望在这个周末发布稳定版 <code>sqlite-utils 4.0</code>,但当我借助 Claude Fable 5 和 GPT-5.5 处理积压的 issue 和 PR 时,自 rc2 以来的更新日志 <a href="https://sqlite-utils.datasette.io/en/latest/changelog.html#rc3-2026-07-05">不断变长</a>。

最大的新增功能是支持对复合外键进行检查和创建——这一功能涉及对 <a href="https://sqlite-utils.datasette.io/en/latest/python-api.html#foreign-keys">table.foreign_keys</a> 的一个细微但会破坏兼容性的变更,因此需要在 4.0 稳定版中一并落地。

<code>sqlite-utils</code> 现在也遵循 SQLite 对列名大小写不敏感的惯例,这最终触及了<a href="https://sqlite-utils.datasette.io/en/latest/changelog.html#case-insensitive-column-matching">许多不同的地方</a>。

标签:<a href="https://simonwillison.net/tags/projects">projects</a>,<a href="https://simonwillison.net/tags/sqlite">sqlite</a>,<a href="https://simonwillison.net/tags/sqlite-utils">sqlite-utils</a>,<a href="https://simonwillison.net/tags/annotated-release-notes">annotated-release-notes</a>,<a href="https://simonwillison.net/tags/gpt">gpt</a>,<a href="https://simonwillison.net/tags/claude-mythos-fable">claude-mythos-fable</a>

来源与参考

  1. 原始链接
  2. Release: sqlite-utils 4.0rc3

收录于 2026-07-07