Docs
Skip to content

Migrations

Migrate from Supabase_

Effortlessly migrate from Supabase to Appwrite. Discover migration strategies, data transfer methods, and tips for a smooth transition to Appwrite.

4 min read

Raw

Appwrite migrations help you quickly migrate your data from Supabase or other sources to Appwrite. You can follow the instructions on the Appwrite Console migration wizard or use this guide to perform your data migration. While migrations are a great way to move your data from other services to Appwrite and get started quickly, they're not perfect. Make sure to understand the different limitations before completing your migration.

1. Obtain credentials

Find all of the following credentials from your Supabase project.

  1. Go to your Supabase project dashboard and click the Connect button in the top right corner.

  2. A modal will appear with several connection options. Select Transaction pooler (recommended for migrations).

  3. Copy the connection details from the modal to retrieve the Host, Port and Username fields below.

FieldDescription
HostThe host of your Supabase Database, found in the Transaction pooler connection string from the Connect modal.
PortThe port of your Supabase Database, found in the Transaction pooler connection string.
UsernameThe username of your Supabase Database, found in the Transaction pooler connection string from the Connect modal.
PasswordThe password of your Supabase Database, this was set when you created your Supabase project. If you forgot your password, you can reset it in Database Settings.
EndpointThis is the endpoint of your Supabase instance under Project Settings > API > Project URL. This is used to migrate your files.
API KeyThis is the key of your Supabase instance under Project Settings > API keys. This is used to migrate your files. Make sure to use the hidden service_role key.

2. Create migration

Before migrating to Appwrite make sure you've read the migration overview page.

  1. Create a new project and click on the Migrations tab in Project Settings.

  2. Click on the Create Migration button and select Supabase as your source.

  3. Enter the credentials from the Obtain credentials step and click Next.

  4. Select the resources you want to migrate and finally click Start migration to begin the migration process.

3. Next steps

  1. In your Appwrite Console, navigate to Overview > Integrations > Platforms, add the platforms for your Web, Flutter, Android, and iOS apps. Appwrite will reject requests from unknown web, Flutter, and mobile apps to protect from malicious attacks. You app must be added as a platform for Appwrite to accept requests.

  2. Remember to add appropriate permissions to the migrated resources to protect user data and privacy.

  3. Migrate functions manually, by pick a runtime and learn to develop Appwrite Functions.

  4. Explore Appwrite's unique features by exploring the rest of the Appwrite Documentation.

Limitations

Not all vendors make their APIs publicly accessible or easy to use for extracting and fully owning your data. Furthermore, due to varying design philosophies, certain resources cannot be migrated on a one-to-one basis. Below, you'll find a list of some known limitations when migrating data from Supabase to Appwrite. It's advisable to review this list before initiating your migration or deploying your product in a production environment.

  • Appwrite's Databases services support a different set of features as PostgreSQL. Some features like advanced indexes, Postgres functions, and scheduling will not be migrated.
  • OAuth users will not be migrated because the sessions are managed by the third-party OAuth provider. Users will need to re-authenticate with your OAuth provider after the migration is complete.
  • Functions are not automatically migrated because of syntax and runtime differences.

Was this page helpful?

Share what worked or what we should fix. Once approved, our agents automatically apply suggested updates to the docs.