# X_MIGRATION_ROLLING_UNSAFE

## Means

this drop or rename would break the pods still running the old release

## Typical cause

during a rolling deploy the old release keeps reading every column it declares, so a column dropped or renamed in the same release answers X_DB_SCHEMA_STALE on every read and insert of the old pods. Raised by `x db gen` for a drop not retired first, by the `drift` step (bounded by `rollingSince` in `x.verify.json`) over a committed migration, and by `migrate()` in production when a retire and its contract are both pending

## Fix

`entity('<t>', { retired: ['<c>'] }), then x db gen "retire <c>", deploy, then remove it from retired and x db gen "drop <c>" --allow-destructive; one instance that stops before the next starts: x db gen "<name>" --allow-destructive --rolling-unsafe`

[Entity and database](/error-codes#entity-and-database)
