sqlite-utils 4.0 推出:導入資料庫結構遷移、巢狀事務與複合外鍵等核心功能
Simon Willison 發布 sqlite-utils 4.0,引入資料庫遷移和巢狀事務,這是對開發者極有用的工具更新,提供了更強大的資料庫管理功能。
Simon Willison 正式發布 sqlite-utils 4.0,這是自 2020 年以來首次重大版本更新。 此版本引入了三大核心功能:資料庫結構遷移、巢狀事務(db.atomic()) 及 複合外鍵 支援。
• 資料庫結構遷移 功能允許開發者使用 Python 定義一系列資料庫變更,並透過 table.transform() 等強大方法執行,優於 SQLite 原生的 ALTER TABLE 限制,並會追蹤已套用和待處理的遷移。
• 巢狀事務 透過 db.atomic() 方法實現,基於 SQLite 的 Savepoints 機制,大大提升了遷移系統的安全性與邏輯清晰度。
sqlite-utils 4.0 也優化了 Upsert 功能(使用 INSERT ... ON CONFLICT 語法),調整了 db.query() 的行為以僅執行查詢,並改進了 CSV/TSV 匯入時的 自動欄位類型偵測。
作者指出,此版本將其早期
sqlite-migrate專案的遷移設計整合為sqlite-utils的核心功能,旨在擴展其在 Datasette/LLM 生態系中的可用性。 儘管借鑒了 Django 遷移等「先行者」的經驗,sqlite-utils的設計更為簡潔,刻意省略了自動生成和回溯功能,建議透過備份資料庫實現回溯。
來源:Simon Willison
閱讀原文 ↗另見:Simon Willison、Simon Willison、Simon Willison