Backport fix sqlite migrations with custom primary keys to 5-1-stable #31361
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.
This backports bbacd60 which allows a record created with a custom primary key to be migrated using sqlite. Previously, while attempting to copy the table, the type of the primary key was ignored, creating a
DataTypeMismatch
error.This also skips copying an index if the index name begins
with "sqlite_". Previously, copying the index for custom primary keys
would fail because they are autoindexed by sqlite, so attempting to copy them
created a duplicate index. "sqlite_" is a reserved word that indicates that the
index is an internal schema object. SQLite prohibits applications from
creating objects whose names begin with "sqlite_", so this string should
be safe to use as a check.
ref https://www.sqlite.org/fileformat2.html#intschema
cc @eileencodes