New · SOFI private deployment is ready for enterprise rolloutTalk to us
[ MIGRATION ][ ZERO DOWNTIME ][ DECOUPLED ][ DUAL-WRITE ]
pattern · /solutions/db-migration

Migrate engines.Don't migrate consumers.

Put a stable governed view in front of the old engine. Plug in the new one as a second source. Flip routing one tenant at a time. Apps and dashboards keep pointing at the same SOFI URL through the entire move.

[ 01 / 05 ]Capabilities
// What you get //

Three things that de-risk a cutover

Migrations on SOFI become routine view edits, not multi-quarter projects.

Decouple consumers

Apps, BI tools and agents read from a stable view. Behind the curtain, you swap Oracle for Postgres without changing a single client.

Dual-source views

Federate the old and new engines under one view. UNION ALL on a routing key, then drop the old branch when traffic settles.

Lineage as proof

Audit shows every read still answers from the right source during cutover. Regulators see one coherent story.

[ 02 / 05 ]Architecture
// Reference flow //

From old engine to new engine

Four phases. Each one is reversible. None of them touch consumers.

step · 01

Stage

publish stable view from old source

step · 02

Mirror

add new source · dual-source view

step · 03

Cutover

traffic shifts · old → new

step · 04

Retire

drop old branch · keep view stable

[ 03 / 05 ]Sample
// View definition //

A dual-source order book

Migrating Oracle to Postgres, one tenant at a time. Consumers never know.

order_book.sql
-- migration window: oracle → postgres
CREATE VIEW orders.order_book AS
SELECT * FROM oracle.legacy.orders
 WHERE tenant_id IN (SELECT tenant_id FROM control.routing
                      WHERE engine = 'oracle')
UNION ALL
SELECT * FROM postgres.next.orders
 WHERE tenant_id IN (SELECT tenant_id FROM control.routing
                      WHERE engine = 'postgres')
WITH POLICY audit_with_source, lineage_track
PUBLISH ON sql, rest, jdbc;
[ 04 / 05 ]Outcomes
// What teams measure //

Migration reduced to a routing flip

Numbers from teams that ran multi-tenant DB migrations on SOFI.

0

consumer changes

Apps, dashboards and agents keep pointing at the same SOFI view through the entire migration.

0

downtime

Cutover is a routing-key flip in the view definition. No window, no maintenance page.

audit

as proof

Every read during the migration is logged with the answering source — proof for regulators and ops.

days

vs. months

Retire the old engine when you're ready, not when the migration project deadline says.

[ 05 / 05 ]FAQ
// Migration FAQ //

What platform leads ask first

The questions that determine whether SOFI replaces or sits alongside your migration tool.

Yes — that's the canonical case. Define the view on Oracle today, add Postgres as a second source, route by primary key, then flip routing one tenant at a time. Consumers don't notice.

// cutover, without consumers

Mirror your old engine behind a SOFI view this week.

Trial includes the migration recipe — dual-source, routing key and audit-with-source pre-wired.