#SQLite
优先使用 SQLite 的 STRICT 表
8/10evanhahn.com · ⭐️ 8/10 · 2026-07-11
一篇文章推荐使用 SQLite 3.37.0 版本(2021 年 11 月 27 日)引入的 STRICT 表,以强制数据类型约束,提高数据库可靠性,特别是在多个应用共享同一个数据库时。 这个建议解决了 SQLite 动态类型(dynamic typing)的常见批评,使其在多应用场景中更可靠,并鼓励更安全的数据库实践。它可能会推动 STRICT 表的采用,并可能影响未来的默认设置。 STRICT 表强制执行精确的数据类型,禁止类型强制转换,但不支持 DATE 等某些类型。每个表必须显式声明为 STRICT。
sqlite-utils 4.0 新增数据库迁移与嵌套事务
8/10simonwillison.net · ⭐️ 8/10 · 2026-07-07
sqlite-utils 4.0 于 2026 年 7 月 7 日发布,新增三大特性:数据库模式迁移、通过新的 db.atomic() 方法实现的嵌套事务,以及对复合外键的支持。 此版本显著增强了 sqlite-utils 作为 SQLite 数据库管理工具的能力,满足了模式版本控制和事务安全性的常见需求。使用 Python 进行数据管理的开发者将受益于更简便的迁移工作流和更健壮的事务处理。 迁移通过 Python 文件中的 Migrations 类和 table.transform() 方法定义,该方法实现了 SQLite 推荐的临时表模式。嵌套事务底层使用 SQLite 保存点,复合外键则支持引用多个列。