Skip to content
Back to catalog
Supabase

Migrate from Supabase

Move users, database data, and files from Supabase to Appwrite

Supabase is an open-source backend platform built on PostgreSQL. A Supabase project bundles a Postgres database with authentication, file storage, and edge functions.

How does the integration work?

Appwrite Migrations connects to your Supabase database and storage API and copies their resources into an Appwrite project. You choose which resources to move in the migration wizard, and Appwrite runs the migration in the background.

ResourceMigration
UsersAutomatic
DatabasesAutomatic
RowsPartial
FilesAutomatic
FunctionsManual

Appwrite Databases support a different feature set than PostgreSQL, so advanced indexes, Postgres functions, and scheduling are not migrated. Users who signed in with an OAuth provider need to sign in again after the migration, because their sessions belong to that provider. Edge functions must be rewritten as Appwrite Functions because of syntax and runtime differences.

How to implement

To migrate a Supabase project to Appwrite, there are several steps you must complete:

Step 1: Collect your Supabase credentials

In your Supabase project dashboard, click Connect and select Transaction pooler, the connection recommended for migrations. From its connection details, collect:

FieldWhere to find it
HostThe host of the Transaction pooler connection string.
PortThe port of the Transaction pooler connection string.
UsernameThe username of the Transaction pooler connection string.
PasswordThe database password you set when you created the project. Reset it in Database Settings if you no longer have it.
EndpointYour project URL under Project Settings > API. Appwrite uses it to migrate files.
API KeyThe secret service_role key under Project Settings > API keys. Appwrite uses it to migrate files.

Step 2: Start the migration in Appwrite

For this step, you must create an account on Appwrite Cloud or self-host Appwrite if you haven't already.

Create a new project, open Project settings, and go to the Migrations tab. Click Create migration and select Supabase as the source. Enter the credentials from the previous step, click Next, select the resources to migrate, and click Start migration.

You can also start a migration from a Server SDK with createSupabaseMigration, using an API key with the migrations.write scope.

Step 3: Finish the move

Once the migration completes:

  • Add your web, Flutter, Android, and iOS apps as platforms in your Appwrite project. Appwrite rejects requests from apps it doesn't know.
  • Review the permissions on migrated resources so users can only reach their own data.
  • Rewrite your edge functions on a supported Appwrite Functions runtime.

Read more about Supabase and Appwrite

If you would like to learn more about migrating from Supabase to Appwrite, we have some resources that you should visit:

Technology Partner Program

Building on Appwrite?

Teams and developers who ship integrations, tools, or services on Appwrite can join our partner program for verified catalog placement, co-marketing, training, and engineering support.