Sandbox Restore

Let's take a look at how to leverage GRAX for sandbox restore

❗️

FEATURE RETIREMENT ALERT

This feature may be part of a retirement. Please see the official GRAX Feature Retirement page for more information on this and other feature retirements.

Introduction

The GRAX restore functionality is powerful in its ability to restore up and down hierarchy chains. Extending this core feature by connecting a sandbox to a populated Production datalake is an effective way to seed this sandbox with select records, for example picking out 100 Accounts and restoring the Account and all children into a sandbox.

Instructions

Let's take a look at the recommended instructions and considerations for setting up sandbox restore

Environment Setup

We recommend always having 1 heroku app tied to 1 SFDC environment. Tying multiple SFDC instances to the same heroku app is NOT recommended or supported. Instead, segregate your heroku apps and maintain a 1-to-1 relationship between heroku app and SFDC instance (remember, you can always 'turn off' the heroku app if it is not in use via the heroku dynos).

Setup Steps

Let's say we have a sandbox and Production Salesforce instance and want to run through a sandbox seeding exercise. Here would be the full high level steps from scratch:

  1. Set up Production heroku app, connected to your Production Salesforce instance.
  2. Run backup out of Production SFDC in order to populate your Production GRAX Data Lake
  3. Set up Dev heroku app.
  • Connect your heroku app to your salesforce sandbox.
  • Set the Elasticsearch configuration variable to the same value that is in your Production heroku app. This allows the sandbox to access Production data.
  1. Now when you log in to the Sandbox SFDC environment, you will see all Production Data Lake data within your GRAX Search tab.
  2. From the Search tab, you can use the GRAX Restore functionality to find and restore any records you would like, for example 100 Accounts along with all children.
  3. After performing the restore, shut down your Dev heroku App if you do not need to use Grax in the sandbox. If you do need to use Grax in the sandbox, be sure to revert Elasticsearch configuration variables to a development environment.

🚧

Sandbox Restore Warning

Given that you will temporarily change your Sandbox heroku App to point to your Production GRAX Data Lake, be sure to be careful about running other processes in your SFDC Sandbox during the seeding process as that would effectively send data to your Production GRAX Data Lake. Sandbox Seeding should be done exclusively in the SFDC Sandbox, and not done in parallel with any other GRAX activities in that sandbox.

Typical GRAX setup for sandbox and production Salesforce environments (above), followed by temporary setup to enable sandbox restore (below)Typical GRAX setup for sandbox and production Salesforce environments (above), followed by temporary setup to enable sandbox restore (below)

Typical GRAX setup for sandbox and production Salesforce environments (above), followed by temporary setup to enable sandbox restore (below)