Repository navigation
feat: migrations for DDL shapes that did not round-trip - #15
Merged
Merged
Conversation
- check_added_not_valid: a check added NOT VALID over a row it does not hold for; validated, it would refuse that row. - circular_foreign_keys: two new tables referencing each other. - subpartitioned_partition_added: a partition partitioned in turn. - partition_added_with_its_own_constraint_and_index. - exclusion_constraint_needing_an_extension: btree_gist, installed first and dropped last. - serial_default_dropped: the sequence stays, still owned by the column. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jasdeepkhalsa
force-pushed
the
feat/ddl-shapes
branch
from
October 5, 2026 07:15
1e438c6 to
b9dc42a
Compare
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.
This adds six migrations cases. Each one is a shape that DBDiff or SupaForge didn't reproduce until now:
check_added_not_validNOT VALIDover a row it doesn't hold for. If it were validated, as it is insideCREATE TABLE, the constraint would refuse the row it was added beside.circular_foreign_keyssubpartitioned_partition_addedpartition_added_with_its_own_constraint_and_indexexclusion_constraint_needing_an_extensionbtree_gisthas to be installed first and dropped last. Its reverse direction also found a SupaForge--provebug (akalforge/supaforge, fix PR open).serial_default_droppedDROP DEFAULTleaves the sequence owned by the column, so it must stay.Live-validated: PG15 with
PGURL.DBDiff/DBDiff#250: DBDiff's corpus passes 149/149 on PG15 (pg_dump) and PG18 (built-in renderer). SupaForge's scenarios pass 149/149 with #250 and the SupaForge prove fix.
Merge note: this appends to
corpus/migrations.json, as does #14. Whichever merges second will need main merged in.🤖 Generated with Claude Code