Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions src/routes/docs/products/migrations/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
---
layout: article
title: Migrations
description: This is the description used for SEO.
description: Learn how to migrate your projects from other vendors to Appwrite Cloud or how to move from self-hosting to Cloud and the other way around using Appwrite Migrations service.
difficulty: beginner
readtime: 5
---

# Migrations in Appwrite

If you're looking to migrate existing projects to Appwrite, Migrations can help you make the move more quickly. You can move your app from Firebase, Supabase, NHost, and even move between self-hosted and Cloud projects using Migrations. You can also use Migrations to move between two self-hosted instances or even to duplicate projects on the same instance. Migrations will automatically move accounts, database documents, and storage files from one source to another.

## Supported Sources
## Sources {% #sources %}

You can transfer from these sources to an Appwrite project. Resources marked **enabled** are migrated automatically. Resources marked **partial** can be migrated, but with limitations or caveats; check the guide for each source to learn more. Resources marked **manual** require manual migration.
Appwrite supports multiple source destinations for migrating your data. You can transfer data from these sources to a new or existing Appwrite project. Resources marked as 'enabled' are migrated automatically. Resources marked as 'partial' can be migrated but with limitations or caveats; please refer to the guide for each source to learn more. Resources marked as 'manual' require manual migration.

| Source | Users | Databases | Documents | Files | Functions |
|--------|-------|-----------|-----------|-------|-----------|
Expand All @@ -22,10 +20,14 @@ You can transfer from these sources to an Appwrite project. Resources marked **e
| [Cloud](/docs/products/migrations/cloud) | enabled | enabled | enabled | enabled | enabled |
| [Self-hosted](/docs/products/migrations/self-hosted) | enabled | enabled | enabled | enabled | enabled |

## Limitations
## Limitations {% #limitations %}

Migrations cannot transfer all data perfectly, so certain fields, such as `$createdAt` and `$updatedAt`, may not be transferred.
More information can be found on the migration page for each source.

Migrations help you jump-start your move, but because each product is unique, complex databases and product unique features like functions might need to be migrated manually.
We also recommend you carefully **validate permissions and data integrity** when moving between platforms.
We also recommend you carefully **validate permissions and data integrity** when moving between platforms.

## Charges {% #charges %}

When you migrate data from another source to Appwrite Cloud, the resource usage during the migration will not count towards your Appwrite Cloud usage charges. However, your source vendor may have data transfer charges. The same is true for moving data between self-hosted Appwrite instances hosted on different cloud providers.
21 changes: 13 additions & 8 deletions src/routes/docs/products/migrations/firebase/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
---
layout: article
title: Migrate from Firebase
description: This is the description used for SEO.
description: Learn how to migrate your Firebase project to Appwrite Cloud.
difficulty: beginner
readtime: 20
---

If you're looking to migrate your project from Firebase to Appwrite, the Appwrite Migrations tool can help streamline the process. Here's everything you need to know to get started.
Appwrite migrations help you quickly migrate your data from Firebase or other [sources](/docs/products/migrations#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](#limitations) before completing your migration.

{% info title="Things to keep in mind" %}
- Appwrite will not incur usage charges during migrations, but Firebase may still incur service charges.
- Appwrite Migrations only supports Firestore as a database source; Realtime Database is currently not supported.
- At the moment, only top-level document migration is supported. Nested documents will not be migrated automatically.
- 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.
{% info title="Charges" %}
When you migrate data from Firebase to Appwrite Cloud, the resource usage during the migration will not count towards your Appwrite Cloud usage charges. However, Firebase, may have data transfer charges.
{% /info %}

{% section #create-service-account step=1 title="Create service account" %}
Expand Down Expand Up @@ -64,3 +60,12 @@ To begin migrating to Appwrite, follow these steps.
1. Explore Appwrite's unique feature by exploring the [TODO]

{% /section %}

## Limitations {% #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 Firebase to Appwrite. It's advisable to review this list before initiating your migration or deploying your product in a production environment.

- Appwrite Migrations only supports Firestore as a database source; Realtime Database is currently not supported.
- At the moment, only top-level document migration is supported. Nested documents will not be migrated automatically.
- 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.
33 changes: 17 additions & 16 deletions src/routes/docs/products/migrations/nhost/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
---
layout: article
title: Migrate from NHost
description: This is the description used for SEO.
description: Learn how to migrate your Nhost project to Appwrite Cloud.
difficulty: beginner
readtime: 20
---

Moving your project from NHost to Appwrite? Appwrite Migrations can help you streamline the process.
Appwrite migrations help you quickly migrate your data from Nhost or other [sources](/docs/products/migrations#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](#limitations) before completing your migration.

Here's what you need to know to get started.
{% info title="Charges" %}
When you migrate data from Nhost to Appwrite Cloud, the resource usage during the migration will not count towards your Appwrite Cloud usage charges. However, Nhost, may have data transfer charges.
{% /info %}

{% section #notices step=1 title="Things to keep in mind" %}

1. Appwrite will not incur usage charges during migrations, but NHost may still incur service charges.
2. Appwrite's Database doesn't support all the features of the PostgreSQL database so more advanced postgres centric things like advanced indexes, PostgreSQL functions and scheduling will not be migrated.
3. 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.
4. Functions are not automatically migrated because of syntax and runtime differences.

{% /section %}

{% section #obtain-credentials step=2 title="Obtain credentials" %}
{% section #obtain-credentials step=1 title="Obtain credentials" %}
Find all of the following credentials from your NHost project.

| Field | Description |
Expand All @@ -32,7 +25,7 @@ Find all of the following credentials from your NHost project.
| **Admin Secret** | The admin secret of your NHost project. This can be found in your NHost project environment variables as `NHOST_ADMIN_SECRET`. We use this to transfer your NHost files to Appwrite. |
{% /section %}

{% section #migration-process step=3 title="Migrating to Appwrite from NHost" %}
{% section #migration-process step=2 title="Migrating to Appwrite from NHost" %}

To begin migrating to Appwrite make sure to read the [migration overview](/docs/migrations) and [things to keep in mind](#notices) sections above.

Expand All @@ -46,7 +39,7 @@ To begin migrating to Appwrite make sure to read the [migration overview](/docs/

{% /section %}

{% section #next-steps step=4 title="Next steps" %}
{% section #next-steps step=3 title="Next steps" %}

1. Add the platforms for your [Web](/docs/getting-started-for-web), [Flutter](getting-started-for-flutter/docs/getting-started-for-flutter), [Android](/docs/getting-started-for-android), and [iOS](/docs/getting-started-for-apple) 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.

Expand All @@ -56,4 +49,12 @@ To begin migrating to Appwrite make sure to read the [migration overview](/docs/

1. Explore Appwrite's unique feature by exploring the [TODO]

{% /section %}
{% /section %}

## Limitations {% #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 Nhost to Appwrite. It's advisable to review this list before initiating your migration or deploying your product in a production environment.

- Appwrite's Database doesn't support all the features of the PostgreSQL database so postgres centric things like advanced indexes, PostgreSQL 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.
33 changes: 17 additions & 16 deletions src/routes/docs/products/migrations/supabase/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
---
layout: article
title: Migrate from Supabase
description: This is the description used for SEO.
description: Learn how to migrate your Supabase project to Appwrite Cloud.
difficulty: beginner
readtime: 20
---
Moving your project from Supabase to Appwrite?
Appwrite Migrations can help you streamline the process.

Here's what you need to know to get started.
Appwrite migrations help you quickly migrate your data from Supabase or other [sources](/docs/products/migrations#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](#limitations) before completing your migration.

{% section #notices step=1 title="Things to keep in mind" %}
{% info title="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.
{% /info %}

- Appwrite will not incur usage charges during migrations, but Supabase may still incur service charges.
- 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.

{% /section %}

{% section #obtain-credentials step=2 title="Obtain credentials" %}
{% section #obtain-credentials step=1 title="Obtain credentials" %}

Find all of the following credentials from your Supabase project.

Expand All @@ -34,7 +27,7 @@ Find all of the following credentials from your Supabase project.

{% /section %}

{% section #create-migration step=3 title="Create migration" %}
{% section #create-migration step=2 title="Create migration" %}

To begin migrating to Appwrite make sure to read the [migration overview](TODO)
and [things to keep in mind](#notices) sections above.
Expand All @@ -49,7 +42,7 @@ and [things to keep in mind](#notices) sections above.

{% /section %}

{% section #next-steps step=4 title="Next steps" %}
{% section #next-steps step=3 title="Next steps" %}

1. Add the platforms for your [Web](/docs/getting-started-for-web), [Flutter](getting-started-for-flutter/docs/getting-started-for-flutter), [Android](/docs/getting-started-for-android), and [iOS](/docs/getting-started-for-apple) 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.

Expand All @@ -59,4 +52,12 @@ and [things to keep in mind](#notices) sections above.

1. Explore Appwrite's unique feature by exploring the [TODO]

{% /section %}
{% /section %}

## Limitations {% #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.