CopyStorm/Medic is a collection of tools for maintaining, validating, and repairing a CopyStorm database. CopyStorm/Medic can be downloaded from

Tools provided with CopyStorm/Medic include:

Tool Tool Name Description
Log Manager View, manage, and export the status of a historical CopyStorm run.
Fix IsDeleted fixDeleted If a record is deleted in Salesforce and the Salesforce recycle bin entry is cleared before CopyStorm runs, CopyStorm will not know that the Salesforce record has been deleted. The Fix IsDeleted tool finds records in CopyStorm that are no longer in Salesforce and marks them as deleted in CopyStorm.
Refresh Formulas refreshFormulas The Refresh Formulas tool updates all formula columns in a CopyStorm database with fresh data from Salesforce. This tool is needed when a formula definition changes in Salesforce.
Scan Timestamps scanTimestamps The Scan Timestamps tool does an exhaustive comparison of Salesforce versus CopyStorm record modification timestamps. Capstorm provides this tool for two reasons:

  • To provide assurance that CopyStorm is copying all records properly.
  • To assist in tracking down “after update” triggers on a table that updates the source table.
Refresh Column(s) refreshColumns The Refresh Column(s) tool updates any column in a CopyStorm database with fresh data from Salesforce. It’s primary purpose is to update a particular formula column but can be used for any column type.
Table Editor tableEditor Manually truncates or deletes CopyStorm tables. Note that CopyStorm will recreate the tables the next time it runs.
Count Records countRecords Count the number of records in a Salesforce table and the corresponding CopyStorm table and compare the results.
Find Dirt The Find Dirt tool finds data in Salesforce fields that should not be possible and does not match the field definition.
Permission Checker findPermissionErrors The Permission Checker tool discovers tables and fields that are defined in Salesforce but no visible to the current Salesforce user.
SQL Runner Can be used to run any SQL statement against the CopyStorm database. This is not a substitute for a fully-featured tool (e.g. MySQL Workbench) but is useful when a fully-featured tool is not available.
Fix Base64 fixbase64 Find all null base64 columns in the CopyStorm database and update with the latest value in Salesforce.
Base64 Sanity Checker base64LinkChecker Discover Attachment/Content/etc. base64 columns where Salesforce returns an error when attempting to read the associated data.

Running CopyStorm/Medic in UI Mode

CopyStorm/Medic can be started as a graphical application by running CopyStormMedic.bat (or “sh” on Linux). The UI mode is often the only way a site will use the tool, but it can also run as a batch job (details later in this article).

The CopyStorm/Medic UI is subdivided into several tabs — the Main tab contains Salesforce and CopyStorm connection credentials and other tabs contain individual CopyStorm/Medic tools. Like other Capstorm applications, a CopyStorm/Medic configuration can be saved/restored to/from an encrypted text file. Saved CopyStorm/Medic configuration files can be used to run CopyStorm/Medic as a batch job.

Running CopyStorm/Medic in Batch Mode

After saving a CopyStorm/Medic configuration file, it can be used to launch CopyStorm/Medic in batch mode.

The syntax for starting CopyStorm/Medic in batch mode is:

  • Windows: “CopyStormMedic.bat -tool ToolName -run configFile.CopyStormMedic”
  • Linux: “sh -tool ToolName -run configFile.CopyStormMedic”

The value for ToolName must be selected from the table at the beginning of this article. For example, to run the Fix isDeleted tool on Windows:

  • CopyStormMedic.bat -tool fixDeleted -run configFile.copyStormMedic

Command Line Reference

Switch Parameter Description
-sftype Sandbox | Production Override the Salesforce instance type selected in the configuration file.
-sfuser Username Override the Salesforce username in the configuration file.
-sfpassword Password Override the Salesforce password in the configuration file.
-sftoken Security Token Override the Salesforce security token in the configuration file.
-dbconnection Connection String Override the database connection string in the configuration file.
-dbuser Username Override the database username in the configuration file.
-dbpassword Password Override the database password in the configuration file.
-dbschema Schema Name Override (or set) the database schema value in the configuration file.
-proxyHost Host Name Override the proxy server in the configuration file. Example:
-proxyPort Port Number Override the port number used by the proxy server.
-proxyUser Username Override the username used to authenticate with the proxy server.
-proxyPassword Password
-apiTraceFile filename Write the entire conversation with the Salesforce API to a file (the file may be huge).