Overview of the Issue
Given these two tables:
create table t1 (id int primary key, i int, constraint `chk1` CHECK ((`i` > 2)), constraint `chk2` CHECK ((`i` > 2)));
create table t2 (id int primary key, i int, constraint `chk1` CHECK ((`i` > 2)));
Diffing the two, we expect to see a diff of
However, with DiffHints.ConstraintNamesStrategy being ConstraintNamesIgnoreAll or ConstraintNamesIgnoreVitess, it's possible to get an empty diff. Specifically, using ConstraintNamesIgnoreAll on the above leads to an empty diff.
schemadiff should identify the scenario where there's two different constraints, even if it ignores their names.
Reproduction Steps
Binary Version
Operating System and Environment details
Log Fragments
No response
Overview of the Issue
Given these two tables:
Diffing the two, we expect to see a diff of
However, with
DiffHints.ConstraintNamesStrategybeingConstraintNamesIgnoreAllorConstraintNamesIgnoreVitess, it's possible to get an empty diff. Specifically, usingConstraintNamesIgnoreAllon the above leads to an empty diff.schemadiffshould identify the scenario where there's two different constraints, even if it ignores their names.Reproduction Steps
Binary Version
Operating System and Environment details
Log Fragments
No response