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.
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.
From old engine to new engine
Four phases. Each one is reversible. None of them touch consumers.
Stage
publish stable view from old source
Mirror
add new source · dual-source view
Cutover
traffic shifts · old → new
Retire
drop old branch · keep view stable
A dual-source order book
Migrating Oracle to Postgres, one tenant at a time. Consumers never know.
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;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.
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.