---
title: Migrate a Parse app to SashiDo
nav: Migrate to SashiDo
group: Run it
updated: 2026-11-13
description: Move a Parse Server app to SashiDo from Back4App, a self-hosted Parse Server or another host. Database, cloud code, files, settings and the cut-over, step by step, and how to leave SashiDo if you ever want to.
keywords: migrate parse server, back4app migration, parse server migration, move parse app, self hosted parse server migration, parse server hosting migration
---

A Parse app is portable: the database is MongoDB, the cloud code is Node.js, the clients use the open-source SDKs. Moving it means moving those three pieces and pointing the clients to the new server. If you'd rather have us do it, [our team migrates apps](/en/migration) for you.

## 1. Create the app

Create an app on SashiDo in the region closest to your users, and set **Runtime › Parse Server Version** to the version your app runs now, or the closest one offered. Upgrade later, as a separate step.

## 2. Move the database

Export from your current host with `mongodump` (Back4App, MongoDB Atlas and self-hosted servers give you the connection string), then import into SashiDo:

```bash
mongodump --uri "<current connection string>" --out ./dump
mongorestore --uri "<SashiDo Database URL>" --nsFrom '<old_db>.*' --nsTo '<sashido_db>.*' ./dump
```

The SashiDo **Database URL** is in **App Settings › Security & Keys**. The database holds everything Parse stores: your classes and objects, users, roles, sessions, installations, the schema with its class-level permissions, and the indexes. For large databases, or if you can't run the tools, ask support to import it.

## 3. Move the cloud code

Copy your cloud code into the app's [repository](/en/docs/developers/cloud-code#the-repository): `cloud/main.js` as the entry point, your dependencies in `package.json`. Set your secrets as [environment variables](/en/docs/developers/api#environment-variables), and push. Check **Runtime › Builds** for the build and **Core › Logs** for errors.

## 4. Move the files

Files stay where they are until you move them: objects keep their file names, and the URLs are built from the file storage's address. Copy the files to SashiDo with support's help (see [Do you need a file migration tool?](/en/blog/do-you-need-a-file-migration-tool/)), so the same names resolve on SashiDo's CDN.

## 5. Set up the rest

What isn't in the database is set in the dashboard:

- **App Settings › Users**: login methods, social login credentials, password policy;
- **App Settings › Emails & Hosting**: email verification, sender, templates, custom domain;
- **App Settings › Push**: APNs and FCM credentials;
- **App Settings › Live Queries**: the classes;
- **Core › Jobs**: schedules;
- **Core › Webhooks**: function and trigger webhooks.

## 6. Test, then switch

1. Point a development build of your clients to SashiDo: the new Application ID, client key and server URL (`https://pg-app-<id>.scalabl.cloud/1/`, or your [custom domain](/en/docs/developers/hosting)).
2. Test login, the main screens, cloud functions, push and files.
3. Switch: release the updated clients. Released apps keep talking to the old server until users update, so either keep it running and re-sync the data until the switch, or move the data last, during a short maintenance window.

## Leaving SashiDo

No lock-in in either direction. The database is yours (**Database URL**), the cloud code is in your GitHub repository, and the **File Key** in **App Settings › Security & Keys** lets another Parse Server read your existing files.
