Each of these is a single PR that drops or rewrites enough structure
that a careful reviewer would want a rollout plan. Click through to
the actual SQL on GitHub — it's all public.
Risk score 4,426 · 268 findings
trigger.dev — schema redesign for new system
View on GitHub →
A single migration that drops 30+ tables, 18 columns, and rebuilds
most of the application's data model in one transaction. Several
production deploys' worth of expand/contract sequencing
collapsed into one PR. The riskiest single SQL file in the
entire dogfood corpus.
destructive/drop-table
destructive/drop-column
destructive/drop-constraint
locking/add-foreign-key-without-not-valid
locking/create-index-non-concurrent
What MergeBrake would have done:
BLOCK verdict, force a split into expand-only and contract-only
PRs, and surface every Prisma model field that would silently
disappear from the TypeScript types post-merge.
"Add organisations" sounds expand-only. In practice it drops
pre-existing columns, restructures the team/user relationship,
and adds dozens of foreign keys validated inline. On a busy
Postgres, the inline FK validation alone can block writes for
seconds-to-minutes on the referenced tables.
destructive/drop-column
destructive/drop-table
destructive/drop-constraint
locking/add-foreign-key-without-not-valid
locking/add-primary-key
What MergeBrake would have done:
BLOCK verdict, suggest rewriting the FK additions with
ADD CONSTRAINT ... NOT VALID
+ a follow-up VALIDATE CONSTRAINT,
and produce app-code impact for the dropped columns.
Risk score 1,300+ · contract-without-expand
formbricks — remove deprecated fields and tables
View on GitHub →
Textbook contract-without-expand: a cleanup PR that drops 12
columns, 3 tables, removes enum values, and ships in a single
deploy. The risk isn't whether the SQL is correct — it is whether
every replica, background job, and stale browser tab has already
stopped reading these fields. With Prisma's
@map indirection, a plain
grep would miss several of the affected app references.
destructive/drop-column
destructive/drop-table
destructive/rename-column
safety/alter-enum-add-value
What MergeBrake would have done:
BLOCK verdict, list every Prisma @map-resolved
app reference still in the base branch, and suggest splitting
the cleanup into expand (remove app references) → wait one
release → contract (drop columns) PRs.