sqlite-utils 4.0 发布:引入数据库模式迁移等重大更新

Simon Willison · rss · 2026-07-08

Simon Willison 宣布发布 **sqlite-utils 4.0**,这是该库自 2020 年以来的首次大版本更新。新版本引入了多项重要功能,并修复了部分向后兼容性问题。 ### 核心新特性 - **数据库模式迁移**:提供结构化的机制来演进项目的数据库模式,支持通过 Python 文件定义迁移步骤,并自动跟踪应用状态。 - **嵌套事务支持**:新增 `db.atomic()` 方法,利用 SQLite 的 Savepoints 实现了嵌套事务,使迁移系统更安全可靠。 - **复合外键支持**:全面支持复合外键的创建、转换和内省。 ### 其他改进 - Upserts 操作改用 `INSERT ... ON CONFLICT ... DO UPDATE SET` 语法,并自动检测主键。 - CSV/TSV 导入默认自动检测列类型。 作者在文中详细展示了迁移功能的代码示例,并分享了设计思路(如放弃回滚功能以保持极简)。此外,他提到在开发复合外键等复杂功能时,借助了 AI 编码代理来审查 Issue 并辅助生成 API 设计。

原文链接 →