Continuous Database Reliability for PostgreSQL

Does Your Database Migration Break
The Older Application Still Running?

Standard CI only tests migrations against empty databases. Real deployments run new migrations while existing pods, workers, and background queues are actively executing. MigrationRehearsal verifies dual-version coexistence on every Pull Request.

✓ PostgreSQL 13–17 Support
✓ AccessExclusiveLock Detection
✓ Application Rollback Verification
✓ Automated GitHub PR Checks

Interactive Dual-Version Rehearsal Sandbox

Select a candidate migration SQL to evaluate the rolling deployment coexistence window in real-time.

migrationrehearsal-ci // pr-check
PR #142 PENDING
// Pull Request: PR #142 (branch: feature/user-profile-split)
// Base App Image: registry.acme.com/api:v2.14
// Candidate App Image: registry.acme.com/api:v2.15
// Ready. Click "Rehearse PR #142" to run dual-version compatibility checks.

Coexistence Scenarios Pending

No rehearsal executed yet.

PostgreSQL Lock Advisory

Lock Level: Uninspected
Table Rewrites: --
Concurrent Write Freeze: --

The Dual-Version Coexistence Problem

Rolling Deployments Coexist For Minutes

When your CI runner spins up version N+1, version N is still taking live customer traffic on Kubernetes. Both versions must function against the migrated database.

SCENARIO 1

Old App vs Baseline DB

Sanity check proving your baseline application test suite passes before schema changes.

SCENARIO 2 (CRITICAL)

Old App vs Migrated DB

Exercises existing pods against the newly migrated schema to catch dropped columns or strict NOT NULL additions.

SCENARIO 3

New App vs Migrated DB

Standard forward test proving candidate application code operates on the updated schema.

SCENARIO 4

Application Rollback

Tests whether rolling back code to version N still functions when data has already been written by version N+1.

Predictable Repository Pricing

Priced per Repository with Bounded Runs

Customer-operated runner executes on your GitHub Actions or self-hosted CI runner.

Diagnostic Pilot
$499 one-time

30-day guided evaluation across 3 repos with migration architecture review.

  • ✓ Up to 3 GitHub repositories
  • ✓ Custom fixture mapping
  • ✓ Expand/Contract pattern coaching
  • ✓ CI pipeline integration help
Start Pilot
Recommended
Team Plan
$99 / repo / month

Automated PR checks for fast-shipping teams deploying frequently.

  • ✓ Unlimited PR rehearsals
  • ✓ 2 Concurrent runners
  • ✓ PostgreSQL 13–17
  • ✓ GitHub PR status integration
  • ✓ Lock hazard alerts
Install GitHub App
Growth Scale
$249 / repo / month

For large scale-ups with high-throughput database traffic.

  • ✓ 5 Concurrent runners
  • ✓ Lock wait simulation under load
  • ✓ Custom fixture generators
  • ✓ Dedicated technical SLA
Contact Sales

Frequently Asked Questions

Does MigrationRehearsal replace Flyway, Liquibase, or Prisma?

No. MigrationRehearsal wraps your existing migration command. It boots disposable database clones, runs your migration, and executes both your previous and candidate container images against the resulting schema to test compatibility.

Do we need to copy our entire multi-terabyte production database?

No. Rehearsals run on lightweight synthetic fixtures or masked database dumps (typically 10MB to 5GB) containing representative schema complexity and foreign key relationships.

How does rollback verification differ from down-migrations?

In real production deployments, down-migrations are rarely executed because they destroy new customer data created since deployment. Instead, teams roll back the application container. MigrationRehearsal verifies that version N of your app can still read and write to the database after version N+1 has already written records.