WZ-IT Logo
How-toSupabase

Supabase migration checklist: discovery through cutover

Timo WevelsiepTimo WevelsiepUpdated: 25.08.2026

Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual consulting.

Want an accountable migration rather than a checklist alone? WZ-IT delivers a Supabase migration from EUR 3,490 excluding VAT with an individually assessed scope.

A Supabase migration checklist prevents the project from collapsing into a PostgreSQL dump exercise. Supabase combines database, authentication, Storage, Realtime, APIs and Functions. The application has moved only when those components work together and can be operated afterwards.

This checklist supports Supabase Cloud-to-self-hosted moves, project moves and migrations of existing databases, applications or identity systems to Supabase.

Choose the source-specific path

The shared review gates remain the same, while the technical transfer differs substantially:

1. Discovery: establish an evidence-based source state

Control Capture Evidence
Source Project, region, version and access Project inventory
Database Size, tables, extensions, functions, triggers Schema and size report
Auth User count, providers, MFA, roles, templates Auth matrix
Storage Buckets, objects, volume, visibility Object inventory
Functions Functions, secrets, triggers, runtimes Function list
Security Grants, RLS, service roles, external access Policy inventory
Application Clients, domains, environments, APIs Dependency map
Operations Backup, monitoring, maintenance and contacts Operating overview

Also capture releases and expected changes before cutover. Without a time boundary, an accurate inventory may already be stale when migration starts.

2. Target architecture and operating model

  • target is Supabase Cloud, managed hosting or self-hosted
  • required Cloud capabilities exist in the target or have replacements
  • development, staging and production are separated
  • domain, TLS, DNS and network paths are planned
  • SMTP, OAuth providers and external APIs are available
  • data location and access paths are documented
  • scaling limits and capacity headroom are defined
  • operating ownership and service levels are clear

Self-hosting does not automatically reproduce every managed Supabase Cloud capability. Complete the feature comparison before scheduling.

3. Recovery objectives and acceptance criteria

Define RPO and RTO before implementation:

  • RPO is the maximum acceptable data loss.
  • RTO is the maximum acceptable recovery duration.

They determine backup frequency, replication, maintenance windows and rollback. Make acceptance measurable:

  • row counts for critical tables reconcile
  • all Storage objects transfer and representative files open
  • every relevant Auth provider passes login and logout
  • unauthorised roles fail RLS negative tests
  • critical user journeys work against the new backend
  • backup, monitoring and alerting are active

4. Prepare the database

  • complete source backup exists
  • versions and extensions are target-compatible
  • roles, ownership and grants are captured
  • functions and triggers can load in dependency order
  • large tables and long imports are identified
  • sequences and identities can be verified
  • business constraints and relations can be tested
  • changes between first import and cutover are addressed

A clean import log is not proof of consistency. Compare critical queries, foreign keys, sequences and business totals.

5. Plan authentication

  • users, identities and providers are inventoried
  • password hashes or reset process are understood
  • JWT secrets and session impact are assessed
  • custom claims and roles are mapped
  • OAuth redirects for new domains are prepared
  • SMTP, sender and email templates are tested
  • MFA and recovery paths are included
  • representative accounts exist for every login type

A forced new login may be acceptable. It must not be discovered after cutover.

6. Move Storage separately

  • bucket configuration and visibility are documented
  • object count, volume and largest objects are known
  • download and upload process is tested
  • content types and metadata remain intact
  • Storage RLS is configured in the target
  • public, private and signed URLs are tested
  • checksums or representative samples are planned
  • the application uses the new object paths

Supabase explicitly documents that database backups do not contain the actual Storage objects.

7. Functions, Realtime and secrets

  • Function code is versioned
  • all secrets are known and securely transferred or rotated
  • external webhooks and callback URLs are updated
  • runtime and dependencies work in the target
  • Realtime channels and replication are configured
  • scheduled jobs and triggers are captured
  • CORS and allowed origins are restricted
  • errors, logs and timeouts are observable

8. RLS and access controls

  • RLS is enabled on exposed tables
  • grants and policies work together
  • anon, authenticated and server roles are separated
  • tenant and owner boundaries are tested
  • INSERT, SELECT, UPDATE and DELETE are tested independently
  • views, functions and Storage are included
  • service keys never reach the browser
  • negative tests are automated or documented

9. Application and integrations

  • new Supabase URL and publishable keys are configured
  • server-side keys remain separate and protected
  • frontend and backend are rebuilt or redeployed
  • API, Function and Storage endpoints are updated
  • OAuth and email links use the new domain
  • error handling and token refresh are tested
  • monitoring or analytics use the right endpoints
  • old clients and versions are accounted for

10. Rehearsal

Run the rehearsal with a current source and the intended target architecture. Measure:

  • duration of every export and import
  • manual steps and waiting time
  • warnings and deviations
  • actual downtime
  • technical and business test duration
  • required access and decision makers

Turn the result into an executable runbook containing time, owner, input, expected output and rollback criterion.

11. Cutover

  • stakeholders and users are informed
  • changes and releases are frozen
  • source is backed up
  • write boundary or maintenance mode is active
  • final data and Storage reconciliation is complete
  • target is published and application switched
  • smoke and business tests pass
  • go/no-go is recorded
  • source remains available for the rollback window

12. Operations after migration

  • monitoring and alert paths are active
  • database and Storage backups run
  • recovery is documented and scheduled for testing
  • patch and upgrade process is defined
  • capacity and growth are observed
  • secrets and temporary access are rotated
  • operating documentation is handed over
  • old systems are retired only after acceptance

Sources

Rather have it operated?

You'd rather not run Supabase yourself? WZ-IT handles setup, operations and maintenance - privacy-focused from Germany.

Enquiry

Migrate, secure, or operate Supabase

We migrate Supabase projects and existing backends such as Firebase, Lovable, PostgreSQL, MySQL or Auth0, build the target environment, and can take over ongoing operations.

How should we get back to you?

Frequently Asked Questions

Answers to the most important questions

At minimum, assess database, Auth, Storage, Functions, secrets, RLS, app configuration, testing, cutover and operational readiness. Explicitly document any components that are not in use.

A dump does not automatically include Storage files, Function code, secrets, SMTP, OAuth settings, domains or monitoring. Auth and RLS behaviour also need application-level testing.

Almost every production migration does. A rehearsal provides real timings, exposes dependencies and makes the maintenance window and rollback decision reliable.

Use technical and business criteria defined in advance, such as row and object counts, a login matrix, RLS negative tests, critical user journeys, backup status and monitoring.

Define the owner and latest decision point before cutover. Once the target accepts new writes, the plan must also explain how those records are handled during rollback.

Contact

Let's Talk About Your Idea

Whether a specific IT challenge or just an idea - we look forward to the exchange. In a brief conversation, we'll evaluate together if and how your project fits with WZ-IT.

Email
[email protected]
Arrange a callback

Callback

Arrange a callback

Leave your number and we will call back — at the latest on the next business day.

For a longer conversation you can book an appointment instead.

Companies worldwide trust WZ-IT

  • ml&s
  • Rekorder
  • Keymate
  • Führerscheinmacher
  • SolidProof
  • ARGE
  • Boese VA
  • nextGYM
  • Maho Management
  • Golem.de
  • Millenium
  • Paritel
  • Yonju
  • EVADXB
  • Mr. Clipart
  • Aphy AG
  • Negosh
  • ABCO Water Systems
1/3 - Topic Selection33%

What is your inquiry about?

First select the service area that best matches your project.