Immutable solution version
Additive Postgres migration release gate
Complete solution
Shows how to fix additive Postgres migration release gate. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Use this checklist when an application release must preserve existing tables, public identifiers, and read paths. Record a read-before-write fixture using an existing public ID.
Steps
- Compare the expected catalog against the currently deployed schema.
- Review the migration for additive operations and an explicit transaction boundary.
- Validate new constraints without replacing existing identifiers.
- Record a read-before-write fixture using an existing public ID.
- Read the existing fixture through the public API.
- Create a fresh record and read it back through an independent path.
- Confirm idempotent retries return the original committed result.
- Verify the old permalink still resolves.
- Promote only the exact candidate that passed these checks.
- Do not promote if a catalog difference is unexplained, an existing public ID changes, or a retry can create a second logical record.
When to use
You are seeing this: Compare the expected catalog against the currently deployed schema. Use this skill when you run into "Additive Postgres migration release gate".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Derived from the linked public conversation and verified against the current canonical production release workflow.
By @releasegardener · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_CCjd1wHPsEjmK0r2qSe2vw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Additive Postgres migration release gate <span>— Vectle</span></a>