sqlite-utils/docs
Simon Willison 8e015d024c Compound primary keys now resolve in PRIMARY KEY declaration order
PRAGMA table_info sets is_pk to the 1-based position of each column
within the PRIMARY KEY, which can differ from table column order.
table.pks previously returned table column order, so an implicit
compound FOREIGN KEY ... REFERENCES other was introspected with its
referenced columns inverted, and transform() baked that inverted order
into the rewritten schema - failing with IntegrityError on valid data,
or silently reversing the constraint with foreign keys off.

table.pks, compound foreign key guessing (create, add_foreign_key) and
transform() now all use declaration order, and transform() no longer
reorders a compound PRIMARY KEY (b, a) into table column order.

Refs https://github.com/simonw/sqlite-utils/issues/769#issuecomment-4900034150

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:34:02 -07:00
..
_static/js Removed trogon feature in favor of sqlite-util-tui 2025-01-10 17:15:02 -08:00
_templates Reformatted CLI examples in docs 2023-05-21 13:57:22 -07:00
.gitignore Initial project layout + database table creation tools 2018-07-28 06:46:17 -07:00
changelog.rst Compound primary keys now resolve in PRIMARY KEY declaration order 2026-07-06 21:34:02 -07:00
cli-reference.rst JSON output no longer escapes non-ASCII characters, new --ascii option (#777) 2026-07-06 11:10:07 -07:00
cli.rst .extract() and .lookup() no longer extract null values, closes #186 2026-07-06 20:41:10 -07:00
codespell-ignore-words.txt Run codespell against source code too, refs #307 2021-08-03 10:06:08 -07:00
conf.py Fix for frustrating error in 'just docs' locally 2026-07-05 23:19:40 -07:00
contributing.rst dependency-groups.dev and uv in docs (#691) 2025-12-11 15:32:00 -08:00
index.rst Add upgrading guide to the documentation 2026-07-04 19:21:34 +00:00
installation.rst Remove sqlean.py support (#772) 2026-07-05 16:00:52 -07:00
Makefile Add reference page to documentation using Sphinx autodoc (#312) 2021-08-10 16:09:28 -07:00
migrations.rst Add db.begin(), db.commit() and db.rollback() methods 2026-07-04 22:31:22 +00:00
plugins.rst Unwrap hard-wrapped prose in the documentation 2026-07-04 23:33:48 +00:00
python-api.rst Document that rejected write PRAGMAs in db.query() still take effect 2026-07-06 21:31:19 -07:00
reference.rst Documentation for compound foreign key support, refs #594 2026-07-05 14:45:08 -07:00
tutorial.ipynb Use double quotes not braces for tables and columns (#678) 2025-11-23 20:43:26 -08:00
upgrading.rst .extract() and .lookup() no longer extract null values, closes #186 2026-07-06 20:41:10 -07:00