sqlite-utils 4.0 发布,新增数据库表结构迁移功能

Simon Willison 发布 sqlite-utils 4.0,这是自 2020 年 11 月 3.0 以来的首个大版本更新,带来数据库迁移、嵌套事务和复合外键支持。

开发者 Simon Willison 于 2026 年 7 月 7 日发布了 sqlite-utils 4.0,这是该项目的第 124 个版本,也是自 2020 年 11 月 3.0 以来的第一个大版本更新。除了一些不大但需要注意的破坏性改动(官方提供了升级指南),这一版主要新增三项功能:数据库迁移、嵌套事务(通过新的 db.atomic() 方法实现),以及对复合外键的支持。

数据库迁移,简单说就是把对数据库结构的一系列改动按顺序记录下来,并自动追踪哪些改动已经执行、哪些还没执行。迁移用 Python 文件来定义,借助 table.transform() 方法,可以完成 SQLite 原生 ALTER TABLE 语句不支持的表结构修改。工具会用一张 _sqlite_migrations 表记录已运行的迁移,执行命令形如 uvx sqlite-utils migrate。

作者提到,这类做法的思路参考了 Django 的 Migrations。不过与 Django 相比,sqlite-utils 的迁移方案更简单,不支持自动生成迁移或回滚到旧版本。

#sqlite-utils#开源工具#数据库#SQLite#Python

← 返回速报