Migration acceptance

PostgreSQL application compatibility

Will old code still work after this migration?

A successful migration and passing new-version tests can miss broken old requests. Rehearse old/new reads, mixed writes and a return to old code before a human decides to release.

Real saved CI results from a pinned public FastAPI backend. Synthetic data only.

Inspect the failure, then the evidence

Blocked reports open on failed checks. Select a phase to inspect its complete evidence, including successful setup and restart. All checks restores the whole run.

In this sample, migration and new-version requests pass. Old, mixed-version and rollback requests fail with SQLSTATE 42703. Restarting old code does not restore the old database schema.

Inspect compatible run

Keep the scope visible

GO_WITHIN_SCOPE applies only to the declared synthetic workflow. Sequential tests do not establish concurrent behavior, lock duration, large-backfill performance or production safety.

A human controls merge and deployment. The example synchronization SQL is fixture-specific, not a universal migration recipe.

Use your application's own checks

  1. Install the reviewed wheel in your test environment.

    The package is not on PyPI. Use the build artifact and installation guide.

  2. Map a synthetic business operation.

    Provide reviewed startup, authentication, HTTP/ID mapping, baseline data and candidate SQL. Read the adapter contract.

  3. Preflight, then run on a disposable database.

    Preflight imports trusted configuration, but does not start an app or access a database. Execution requires your disposable DB settings.

    migration-accept --integration project_acceptance:integration --candidate title-storage --check
    migration-accept --integration project_acceptance:integration --candidate title-storage --output reports/title-storage

Application integration still needs reviewed code. Independent setup savings and customer adoption are unverified.

Follow the actual release evidence

Sample source: 2ec32c7eb316c4f1cedf6e92a27b3e240de55c60. The comparison uses known-outcome regression runs. The named release jobs below independently preserve release exit codes.

The Duo note reviews commit 01126ed8, a later documentation/tooling head. It is not a review of the comparison's older run IDs.