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.
Charges
When you migrate data from Supabase to Appwrite Cloud, the resource usage during the migration will not count towards your Appwrite Cloud usage charges. However, Supabase, may have data transfer charges.
Obtain credentials
Find all of the following credentials from your Supabase project.
Field | Description |
Host | The host of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Host. |
Port | The port of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Port. By default, this is 5432. |
Username | The username of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Username. |
Password | The password of your Supabase Database, this was set when you created your Supabase project. If you forgot your password, you can reset it within Database Settings. |
Endpoint | This is the endpoint of your Supabase instance under Project Settings > API. This is used to migrate your files. |
API Key | This is the key of your Supabase instance under Project Settings > API. This is used to migrate your files. Make sure to use the hidden service_role key. |
Create migration
Before migrating to Appwrite make sure you've read the migration overview page.
Create a new project and click on the Migrations tab in Project Settings.
Click on the Create Migration button and select Supabase as your source.
Enter the credentials from the Obtain credentials step and click Next.
Select the resources you want to migrate and finally click Start migration to begin the migration process.
Next steps
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.
Remember to add appropriate permissions to the migrated resources to protect user data and privacy.
Migrate functions manually, by pick a runtime and learn to develop Appwrite Functions.
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.