All rules Rule BV005
warning
free in the CLI

Rename or drop breaking the deploy window

Warning — this works, but blocks traffic or rewrites data at scale.

What it catches

Between the migration running and the last old app instance stopping, old code still queries the old name. A rename or drop makes those queries error immediately — a partial outage that lasts exactly as long as your rollout.

Fires on

ALTER TABLE users RENAME COLUMN email TO email_address;

Do this instead

Expand/contract: add the new name alongside the old, have app code write both and read the new one, backfill in batches, then drop the old name a release after no deployed code references it. A rename becomes two additive steps that never break in-flight queries.

SET lock_timeout = '5s';
ALTER TABLE users ADD COLUMN email_address text;
-- dual-write both columns from the app, backfill in batches,
-- switch readers, then drop the old column a release later
Catch this before it ships

This rule runs locally in the free CLI — or with the full corpus through the hosted service: npx bolvrk check migration.sql