Introducing Appwrite Migrations: Effortless data migration from your platforms
Tags: database, productivity, opensource
Published: 2023-08-31 10:14:27

Moving house is a chore. You have to pack, then hire a moving company, wonder if your giant sofa fits through the front door, and panic when you can’t find your favourite t-shirt as you unpack.  Moving your data from platform to platform is much the same. You have to write scripts to transfer your data, translate any data to the destination platform’s data types, have backups in case there’s a failure, and fight your platforms who’re desperate to retain you as a customer. It’s all a huge nightmare.

Not anymore.

Introducing Migrations in Appwrite, a new service that allows you to easily move your data from all sorts of platforms over to Appwrite, including Firebase, NHost, and Supabase, with more to come! You can even transfer data between Appwrite instances, including Cloud to self-hosted, and the other way round. At the end of the day, **it’s your data and we believe it’s your right to move it where you like.**

In case we’re not saying it loud enough, here it is in a quote:

> **At the end of the day, it’s your data and we believe it’s your right to move it where you like.**
> 

## Start your move

You can find the new Migrations service in **Settings** under the **Migrations** tab, where you'll be given two options:


![Image of migrations](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1dbt2j5g9pqqor98t8b.png)



## Import project data

Clicking on the **Import Data** button will forward you to a wizard with a range of services you can import your data from, including Firebase, Supabase, and NHost.


![Image migrations](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vdj97lga3effwt19lugb.png)


All you need to do is fill in your credentials for the service you want to migrate. Each provider requires different credentials and setup processes, so make sure to check the [Documentation](https://appwrite.io/docs/migrations) for more details on how to set up and find the credentials to migrate your data.

After this, a quick check will occur while we scout out the project, check the credentials work, and tally how many resources the project has to migrate.


![Image migrations](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5tala69cwml3r29h5x66.png)


> Do note that Firebase will not show how many resources, since they don’t allow counts through their APIs.
> 

After, you can select the resources you want to import, and finally, you can click on **Create.** This will kick off the migration and redirect you back to the migrations tab, where you can watch your migration in real-time.

That's really how easy it is to migrate your data to Appwrite!

## Self-hosted to Cloud and visa-versa

We also made it extremely easy to migrate your projects between Appwrite instances. This means self-hosted to Cloud, or Cloud to self-hosted. We want you to know that you own your data, and we believe this will make you feel more at ease to entrust us with your data.

Once you click **Deploy to Cloud** the console will generate an API key in the background and redirect you to Appwrite Cloud. Next, you'll be prompted to select an organization and select a project or create a new project.

![Image migrations](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2dgfkwvsv8vflu4jahdj.png)


Following that, the process is similar to other migrations. You'll be asked to select resources to import and kick off the migration by clicking **Create.** You'll once again be redirected over to Migrations to watch it take place.

The process to migrate Appwrite Cloud over to self-Hosted is much the same, except you will be asked to enter your self-hosted instance's console endpoint. 

Note that for both Appwrite Cloud to self-hosted migration and visa-versa, your self-hosted project must be accessible from the internet so that Appwrite Cloud can reach it.

## ⏭️ What’s next?

Going forward we will be adding more features and support for new services as we want to make your transition to and from Appwrite as easy as possible. This feature is still experimental, so please give us any feedback or let us know of any bugs you encounter.

You can learn more about Migrations by heading over to our [docs](https://appwrite.io/docs/migrations), where we have prepared guides for every service as well as the limitations of the service.