Ultimate

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

Listed under Entity and database

This page as markdown