💬 观点Simon Willison
sqlite-utils 4.0rc1 adds migrations and nested — SQLite
SQLite-utils 4.0rc1 发布,引入数据库迁移和嵌套事务支持,提升开发效率。
2026-06-21原文
本文为要点摘要,完整细节以原文为准。
🧭 一图看懂
由原文自动提炼 · 以原文为准点击任一分支,查看这一点的一句话解读
sqlite-utils 4.0rc1 新特性
移植 sqlite-migrate,用 Migrations 类定义并应用数据库迁移
- migrations.py 中用 @migrations() 装饰函数
- CLI:sqlite-utils migrate creatures.db…
- 不支持反向迁移,需新迁移修复错误
⚙️ 流程拆解
STEP 1编写 migrations.py
STEP 2用 @migrations() 装饰函数
STEP 3运行 migrate 命令
STEP 4应用迁移到数据库
🔗 涉及的概念与玩家
- sqlite-utils产品
- Simon Willison人物
- sqlite-migrate产品
- SQLite产品
- Django产品
- Peewee产品
- Migrations概念
- savepoint概念
- Simon Willison—开发→sqlite-utils
- sqlite-utils—移植→sqlite-migrate
- sqlite-utils—封装→SQLite
- Migrations—属于→sqlite-utils
- savepoint—支持→SQLite
Simon Willison 宣布了 sqlite-utils 4.0 的首个候选版本,这是一个用于操作 SQLite 数据库的 Python 库和 CLI 工具。本次更新的核心是两项新功能。
- 新增数据库迁移功能:该功能基于作者之前独立的
sqlite-migrate包,现已集成。开发者可以通过 Python 代码或 CLI 命令来定义和应用数据库结构变更(如创建表、添加列),简化了版本控制流程。 - 引入
db.atomic()支持嵌套事务:新 API 借鉴了 Django 和 Peewee 的术语,利用 SQLite 的保存点机制,让嵌套事务的管理变得更加直观和容易,有助于构建更健壮的数据操作逻辑。 - 包含多项向后不兼容的变更:版本 4.0 包含一系列破坏性更新,例如修改了 upsert 操作的底层实现、默认启用 CSV/TSV 导入时的类型检测、将视图访问从
db.table()方法中分离等,开发者需要评估升级影响。
原文:sqlite-utils 4.0rc1 adds migrations and nested transactions · 作者 Simon Willison
🕸 顺着图谱继续读
- sqlite-utils 4.0rc1 — Simon Willison 发布 sqlite2026-06-21 · 共同涉及 sqlite-utils、Simon Willison、SQLite
- sqlite-migrate 0.2 — SQLite迁移工具升级:兼容新版本并简化依赖。2026-07-07 · 共同涉及 sqlite-migrate、sqlite-utils、Simon Willison
- sqlite-utils 4.0, now with database schema migrations — Simon Willison 发布 sqlite2026-07-07 · 共同涉及 sqlite-utils、Simon Willison、SQLite
- github-to-sqlite 2.9.1 — Simon Willison 发布 github2026-09-11 · 共同涉及 Simon Willison、sqlite-utils、SQLite