Conversation
MbappeWU
marked this pull request as ready for review
October 2, 2026 22:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The public creation APIs cannot request
INTEGER PRIMARY KEY AUTOINCREMENT, even though the SQL builder already uses it internally to preserve existing tables during transforms. Ordinary integer primary keys allocate missing IDs, but may reuse a deleted maximum ID. This adds an explicit choice for the no-reuse behavior requested in #664.Add
autoincrement=True/False/Noneto the Python creation and insertion paths, including table defaults and lookup, and--autoincrement/--no-autoincrementtocreate-table,insert,upsertandtransform.Nonekeeps the current behavior; transformations preserve existing mode and sequence. Preview and execution use the same option. Upserts still require a primary key value in each record. Inserts and lookups reject an explicit mode that conflicts with an existing table, instead of changing its schema. Enabling the mode on an ordinary table starts tracking its current IDs; it cannot recover earlier deleted-ID history.Validate the primary key and effective column type before replacement, added columns or extraction dependency tables can be created. Retain the existing quoting and sequence restoration paths. Include usage docs, generated CLI reference and an unreleased changelog entry.
Closes #664.
Validation:
Prepared with Codex. Agent code and security reviews caught and corrected cached-mode and extraction side-effect cases; maintainer review is still required.
Upstream test, SQLite-version, coverage and spelling workflows are awaiting maintainer approval for this contribution. The repository documentation preview workflow succeeded.
📚 Documentation preview 📚: https://sqlite-utils--894.org.readthedocs.build/en/894/