Breaking example
Risky example
Safe example
Mixed real-world
What counts as breaking?
A change is breaking when an older version of your application can no longer read or write the database after it runs. Common examples:
DROP COLUMN / TABLE / INDEX / CONSTRAINTBreaking
Running code that references the dropped object will fail.
ALTER COLUMN to a narrower typeBreaking
Existing data may no longer fit, or applications expect the previous type.
ADD NOT NULL without a DEFAULTBreaking
Existing rows with NULL values will make the ALTER fail or break inserts from old code.
RENAME COLUMN / TABLERisky
Breaks every query referencing the old name. Use a copy + dual-write migration instead.
Stop breaking changes before they reach production
Add SchemaLens to your CI/CD pipeline and catch backward-incompatible migrations on every pull request โ free forever.
Add SchemaLens GitHub Action โ CI/CD Setup Wizard