How to move Database from Parse in a simple way

Parse shuts down on January 27, 2017.

If you have an app on Parse.com you need to find a new place to store it before Parse.com closes.
You have already decided for yourself that you are happy with Parse, and you want to continue working with it.
Parse shutdown Fortunately, Parse.com team developed and opened all tools for us to make this transition as smooth as possible.

When Parse.com announced its closing, a lot of new services with new names emerged and started providing quick and easy migration to their servers. They offer easy migration in one click, they have user base, but can you be sure if they aren't closed in next year from lack of funding or users?

Migration in “one click” is attractive, but it is always better to think about long-term cooperation. We recommend a fundamental way. We offer to use Amazon Web Services, MongoLabs or ObjectRocket services. They will not disappear insensibly.
Migrate your database to one of two official services that “Parse” recommended
http://objectrocket.com/ or https://mlab.com/ Host your own Parse server on Amazon Web Services. https://aws.amazon.com/free

Migrate Database

When you are ready to move to new database, it will help you. All you need is to prepare your fresh database on websites below, and follow steps from http://docs.mlab.com/migrating-from-parse/.
After migration all your data will be copied to a new place. And your app will write data in a new database.

Parse server

When you register on AWS, there is also one button action to deploy your own parse-server
https://aws.amazon.com/blogs/mobile/how-to-set-up-parse-server-on-aws-using-aws-elastic-beanstalk/
After server is up - you need to setup a path to your database correctly with credentials.

Go to Overview of your project -> Configuration -> Software Configuration

This example is for database hosted on MongoLabs. Fill “Environment Properties”
MongoLabs database

APPID, FILEKEY, MASTER_KEY - keys that you need to copy from your Parse.com App. File key - is needed so your new parse-server can access files that are still stored on Parse.com servers

DATABASEURI - path to your database with user credentials SERVERURL - this is a path to parse-server on AWS. You can find it on an overview page. You should add /parse at the end of url
http://parseserver-XXX-XXXX.elasticbeanstalk.com/parse

Now using Parse SDK configuration setting in your app, you can point your app to a new server
http://stackoverflow.com/questions/35088410/how-to-connect-my-swift-app-to-my-parse-server

File migration

If your app stored images on Parse.com - we need to move them, as well. Currently, our new parse-server can access photos on Parse.com using FILE_KEY, but it cannot add new images, and all images will be gone after 28 January when Parse.com will be closed. So we need:

There 2 ways you can migrate your files.
Use solution created by Parse.com - https://github.com/ParsePlatform/parse-server/wiki/Files-Migration
You can write your own solution using Parse SDK and AWS SDK. Some small script that downloads your images and uploads them to S3. http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transfermanager.html

After you copy files to S3. make sure your new App version can upload and download images from S3.

That all general steps to create your flexible solution which you can now expand, and improve.

If you had such experience of migration database, please, share your thoughts in the comment section below.

Contact us