💬 观点Simon Willison
sqlite-utils 4.0, now with database schema migrations — Simon Willison 发布 sqlite
Simon Willison 发布 sqlite-utils 4.0,核心新特性是数据库迁移系统,简化 SQLite 项目 schema 演进。
2026-07-07原文
本文为要点摘要,完整细节以原文为准。
- 迁移系统基于 Python 文件定义变更序列,利用
table.transform()实现 SQLite 原生 ALTER TABLE 不支持的 schema 修改(如改列类型),通过创建临时表、复制数据、替换旧表实现。- 对开发者:提供了一种轻量、可编程的 schema 版本管理方案,尤其适合无 ORM 的 SQLite 项目。
- 新增
db.atomic()上下文管理器支持嵌套事务,利用 SQLite 保存点实现事务内事务,提升迁移安全性和可推理性。- 对工具链:使复杂数据库操作(如批量迁移)更可靠,降低数据损坏风险。
- 支持复合外键,包括创建、转换和通过
table.foreign_keys内省;该功能由 AI 代码助手协助设计 API。- 对开发者:填补了 sqlite-utils 在关系完整性方面的关键缺口,使库更适用于复杂数据模型。
原文:sqlite-utils 4.0, now with database schema migrations · 作者 Simon Willison