Skip to content

Commit 87c6ceb

Browse files
committed
Release 3.35
Refs #577, #581, #585
1 parent 56093de commit 87c6ceb

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

docs/changelog.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@
44
Changelog
55
===========
66

7+
.. _v3_35:
8+
9+
3.35 (2023-08-17)
10+
-----------------
11+
12+
Adding foreign keys to a table no longer uses ``PRAGMA writable_schema = 1`` to directly manipulate the ``sqlite_master`` table. This was resulting in errors in some Python installations where the SQLite library was compiled in a way that prevented this from working, in particular on macOS. Foreign keys are now added using the :ref:`table transformation <python_api_transform>` mechanism instead. (:issue:`577`)
13+
14+
This new mechanism creates a full copy of the table, so it is likely to be significantly slower for large tables, but will no longer trigger ``table sqlite_master may not be modified`` errors on platforms that do not support ``PRAGMA writable_schema = 1``.
15+
16+
Other changes:
17+
18+
- The :ref:`table.transform() method <python_api_transform>` has two new parameters: ``foreign_keys=`` allows you to replace the foreign key constraints defined fo a table, and ``add_foreign_keys=`` lets you specify new foreign keys to add. These complement the existing ``drop_foreign_keys=`` parameter. (:issue:`577`)
19+
- The :ref:`sqlite-utils transform <cli_transform_table>` command has a new ``--add-foreign-key`` option which can be called multiple times to add foreign keys to a table that is being transformed. (:issue:`585`)
20+
- :ref:`sqlite-utils convert <cli_convert>` now has a ``--pdb`` option for opening a debugger on the first encountered error in your conversion script. (:issue:`581`)
21+
- Fixed bug where ``sqlite-utils install -e '.[test]'`` option did not work correctly.
22+
723
.. _v3_34:
824

925
3.34 (2023-07-22)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import io
33
import os
44

5-
VERSION = "3.34"
5+
VERSION = "3.35"
66

77

88
def get_long_description():

0 commit comments

Comments
 (0)