Home›Developer docs›Migrate to SashiDo

Migrate a Parse app to SashiDo

Updated Nov 13, 20262 min read

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.

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 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:

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: cloud/main.js as the entry point, your dependencies in package.json. Set your secrets as 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?), 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).
  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.

Reading this with an AI assistant? This page as Markdown.