Release: sqlite-utils 4.1.1
Upgrade to sqlite-utils 4.1.1, run `table.transform()` inside a transaction with PRAGMA foreign_keys enabled, and use the new CLI/Python cross‑references.
Upgrade to sqlite-utils 4.1.1, run table.transform() inside a transaction with PRAGMA foreign_keys enabled, and use the new CLI/Python cross‑references.
Summary
sqlite-utils 4.1.1 introduces a critical fix for foreign key handling during table transformations. The `table.transform()` method now raises a `TransactionError` when a transaction with `PRAGMA foreign_keys` enabled references tables with destructive ON DELETE actions, preventing silent deletes or modifications.
Additionally, the CLI and Python API documentation now cross‑reference each other, making it easier to navigate between command‑line usage and Python functions. These changes were prompted by an edge case discovered by Claude chat during experimentation with the 4.1 release.
The release also includes minor documentation updates and resolves issue #794 and #791.
Key changes
- `table.transform()` now raises TransactionError when foreign_keys enabled and destructive ON DELETE actions present
- Prevents silent deletes or modifications during transform
- CLI and Python API docs now cross‑reference each other
- Fix addresses edge case spotted by Claude chat