Selecting Migration Components
When you create a migration in Stack2X, you choose which components to include. Each component represents a distinct part of your Supabase project. This article explains what every component does in plain language and helps you decide which ones you need.
Database Components
Database Schema -- The structure of your project: tables, columns, indexes, types, views, functions, and triggers. This is almost always essential. Without it, your target has no tables to hold data.
Database Data -- The actual rows in your tables. Select this alongside Database Schema to bring both structure and content. If you only want an empty copy of your project, leave this unchecked.
RLS Policies -- Row-level security policies that control which users can read or write which rows. If your application relies on Supabase's built-in security model, include this. Without it, your data may be publicly accessible or completely locked down on the target depending on its defaults.
Auth Components
Auth Users -- Your user accounts, including email addresses, password hashes, metadata, and provider links. Essential if you want your existing users to log into the target without creating new accounts. Note that JWT secrets differ between instances, so users will need to re-authenticate after migration.
Email Templates -- The templates used for confirmation emails, invite emails, magic links, and password recovery. Cloud only. Include this to keep your branded email experience consistent on the target.
Auth Configuration -- Broader auth settings including SMTP configuration, redirect URLs, and provider settings. Cloud only. If you have customized how Supabase handles authentication, include this.
Storage Components
Storage Buckets and Objects -- Your file storage buckets and every file inside them. If your application stores images, documents, or any other files through Supabase Storage, include this. Bucket-level access policies are included.
Storage Config -- Service-level storage settings. Cloud only. Available on the Business plan.
Edge Functions and Secrets
Edge Functions -- Your serverless functions deployed to Supabase Edge. Cloud only. The function code is migrated, but secrets and environment variables are handled separately.
Secrets / Environment Variables -- The secret values your edge functions and application rely on. Cloud only. Note that some secrets cannot be exported via the Supabase API and may need to be re-entered manually on the target.
Configuration Components
Realtime Configuration -- Settings for Supabase Realtime, which powers live subscriptions and broadcast. Include this if your application uses real-time features.
Realtime Config -- Service-level Realtime settings. Cloud only. Available on the Business plan.
Integrations (Extensions) -- PostgreSQL extensions enabled on your project, such as pgvector, PostGIS, or pg_cron. Include this to ensure the same extensions are active on the target.
PostgREST Config -- Settings for the REST API layer that Supabase provides. Cloud only. This includes schema exposure settings and other API configuration.
Security and Network Components
Network Restrictions -- IP-based access rules that limit who can connect to your database. Cloud only. Available on the Business plan.
SSL Enforcement -- Whether SSL connections are required. Cloud only. Available on the Business plan.
Custom Domains -- Custom hostnames and vanity subdomains configured for your project. Cloud only. Available on the Business plan.
Which Components Are Essential?
For most migrations, start with these:
- Database Schema -- without it, nothing else has a place to land.
- Database Data -- unless you intentionally want an empty target.
- RLS Policies -- to keep your security model intact.
- Auth Users -- if you have existing users who need to keep their accounts.
- Storage Buckets and Objects -- if your application uses file storage.
Everything else depends on your specific setup. If you do not use edge functions, skip them. If you have not customized your auth templates, leave them out.
Plan-Based Availability
Not all components are available on every plan. Here is how they break down:
- Free plan -- Database Schema, Database Data, RLS Policies, Realtime Configuration, Integrations.
- Starter plan -- Everything in Free plus Auth Users and Storage Buckets and Objects.
- Pro plan -- Everything in Starter plus Auth Configuration, Email Templates, Edge Functions, Secrets, and PostgREST Config.
- Business plan -- All components, including Network Restrictions, SSL Enforcement, Storage Config, Realtime Config, and Custom Domains.
Components locked behind a higher plan show a lock icon in the wizard. Upgrade your plan to unlock them.
Cloud-Only Components
Several components are marked as Cloud only. These rely on the Supabase Management API, which is only available for Supabase Cloud projects. If your source or target is self-hosted, these components will either be unavailable or skipped during migration. The wizard warns you if you select cloud-only components for a self-hosted target.