Axway MBS Custom Object Data Migration Utility

This blog post describes a simple Node.js utility to help you copy Axway MBS Custom Object data from dev to prod or from one MBS app to another.

It is mainly well suited for API Builder/MBS Connector projects since API Builder models based on the MBS Connector are stored as MBS Custom Objects. It does not work with other MBS objects (photos, likes, users,…).

Why is this useful?

During development, you will probably store data in the Development instance of your MBS app. When you are ready to move to Production, you may need to have some, or all, of your Custom Object data moved to Production. Currently, Axway supports exporting your MBS app data, but not importing. This utility can help you copy data from Dev to Prod. Or, you may want to create a new MBS app and copy data from another MBS app. This utility can handle that as well.

Features

  • Simple and easy to set up on your local machine
  • Only requires Node.js and the ArrowDB Node SDK installed on your machine
  • Configurable by editing a config.js file
  • Supports the rate-limiting aspect of MBS

Limitations

  • Supports one custom object at a time
  • Can only move up to 1,000 records

Setup

  • Create a Node.js project
    • npm init
  • Set index.js as your entry point
  • Install ArrowDB Node SDK
    • npm i arrowdb
  • Copy index.js and config.js from here
  • Edit config.js as follows:
    • Enter the “from” MBS App Key
    • Enter the “to” MBS App Key and a username and password a user in that MBS App
  • Run as follows:
    • node index.js <custom object name> (e.g. node index.js employee)

Here is a side-by-side comparison of my MBS Dev and Prod, Custom Object before running the utility:

MBS Dev (left) vs MBS Prod (right) BEFORE

Here is a screenshot of running the utility on the complexObject custom object:

Utility Running in Terminal

And here is a side-by-side comparison of my MBS Dev and Prod, Custom Object after running the utility:

MBS Dev (left) vs MBS Prod (right) AFTER

Note that in this example I copied all 5 entries of complexObject from lbdatacopytester MBS app Dev to lbdatacopytester MBS app Prod.

Summary

In this blog post, we looked at a Node.js utility that can copy MBS custom object data from Dev to Prod or from one MBS app to another.

Learn how to access Axway Mobile Backend Service (MBS) from a Node.js Application

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.