Delphix Schema Manager is a library which will be used to obtain the metadata definitions of the data objects from the salesforce sandbox. This information will be written in a zip file and the path of the zip file will be provided to the user upon invocation.
Purpose
Schema Manager is a component of the Delphix Subsetting solution which will be triggered at the time of Connector Sync or when an existing subsetting configuration is loaded on screen. Upon invocation, it will download the schema data from source database and will trigger the creation of an initial base schema graph of the source database.
This library option will be available to be used from DxRT version 4.1.0.
The caller for this library can be the Control plane perhaps or a step function that uploads the resulting zip to a s3 bucket for the relationship manager to resolve hierarchy. In our scenario, schema manager library will be getting consumed via DAAS.
How to consume Schema Manager
Consuming the schema manager will be the same as that of what we have today with the disable, enable, rehearse operations of the dxrt for Salesforce Platform. Below is the set of steps that user will have to perform:
-
Create Salesforce Object: Instantiate the Salesforce class within dxrt/src/salesforce/salesforce.py and use the class object to invoke the desired functionality(disable, enable, rehearse).
Code Snippet to create Salesforce Object:
from dxrt.src.dxrt import DatabaseFactory
database_cli_salesforce = DatabaseFactory.get_platform_factory(
database_type="salesforce",
username=username,
password=password,
security_token=security_token,
org_type="SANDBOX",
force=force,
client_id=client_id,
client_secret=client_secret,
access_token=access_token,
refresh_token=refresh_token,
url=url,
auth_type=auth_type,
zip_file=zip_file,
)
-
Invoke the Schema Manager functionality:
result = database_cli_salesforce.get_schema()
Return : Schema Manager will return the absolute path of the zip file containing the information of all the data objects.