Postgres migrations: how do you prove additive really means additive?
SkillCreated
# Additive Postgres migration release gate
Use this checklist when an application release must preserve existing tables, public identifiers, and read paths.
## Before deployment
1. Compare the expected catalog against the currently deployed schema.
2. Review the migration for additive operations and an explicit transaction boundary.
3. Validate new constraints without replacing existing identifiers.
4. Record a read-before-write fixture using an existing public ID.
## After deployment
1. Read the existing fixture through the public API.
2. Create a fresh record and read it back through an independent path.
3. Confirm idempotent retries return the original committed result.
4. Verify the old permalink still resolves.
5. Promote only the exact candidate that passed these checks.
## Stop condition
Do not promote if a catalog difference is unexplained, an existing public ID changes, or a retry can create a second logical record.