Database Schema

The Database Schema Configuration Editor contains parameters used to configure CopyStorm database schema generation.

Parameter Name Default Setting Required Description
Use Strict DECIMALs Unchecked No CopyStorm uses a relaxed definition for all Salesforce numeric columns. This is because it is possible for Salesforce to store values that do not match the declared field definition. An example is the computed column Opportunity.Amount, which can be forced to exceed the field size declared by Salesforce.

By default, CopyStorm uses:

  • NUMERIC for Oracle and PostgreSQL databases.
  • DECIMAL for SQL/Server, MySQL, and H2 databases.
Extra Precision 2 No Increases the numeric precision stored by the database by this number of digits, both before and after the decimal point. The default value is almost always a good choice and works around the handful of instances where Salesforce “lies” about the precision of a column.
AnyType Length Blank No Allocate this many characters for Salesforce columns using the AnyType data type.  Use of an AnyType column is rare and only seen in Salesforce system level tables. The default length is 255.
Use Database Views Checked No If checked, CopyStorm will create database views for Salesforce objects that can be represented as such. For example, all Feed objects can be represented as views on FeedItem.
Obfuscate Schema Varies No If checked then CopyStorm will obfuscate database table and column names.
Use NVARCHAR2 Unchecked No If checked and using Oracle, use NVARCHAR2 for String data. If unchecked, assume that the encoding used by Oracle is capable of representing all UTF8 characters. This option is only used when copying to Oracle databases.
Table Prefix Blank No If set, all Salesforce backup tables created by CopyStorm will be prefixed with this value.

For example, if “Table Prefix” is set to “SF_” then the Account table will be created as “SF_Account” rather than “Account”. Note that this parameter has no effect on tables that have already been created by CopyStorm.

Continue on DML Errors Checked No If checked, CopyStorm will continue processing if a DML error is encountered. A DML error typically occurs when the structure of a Salesforce table has changed in a way that causes an “ALTER TABLE COLUMN” command to fail in the target database. The simplest fix is to drop the table in the target database and let CopyStorm rebuild it.

If checked, CopyStorm will log an exception, skip the problem table, and continue with the next table.

Include Formulas Checked No If checked, CopyStorm will create columns corresponding to formula fields in Salesforce and will copy down the formula data into the columns. If unchecked, CopyStorm will ignore formula fields.
Include Base64 Checked No This option controls how CopyStorm will handle Base64 fields (file data). Possible values are:

  • Default – CopyStorm will only copy file data if the database supports long CLOB columns.
  • Yes – CopyStorm will always try to copy file data, whether or not the database supports it.
  • No – CopyStorm will never try to copy file data even if the database supports it.
Chunk Base64 Values Unchecked No If checked, CopyStorm will store all Base64 values as chunks. These chunks will be specified in the “CopyForceTableFieldChunk” table in the CopyStorm database.
Synchronize Schema Checked No If checked, CopyStorm will create and alter database columns to match Salesforce definitions/metadata. If unchecked, CopyStorm will not attempt to alter database schema definitions when Salesforce object/field definitions change.
Auto Upgrade Schema Checked No Upgrade the database schema to match the schema for this version of CopyStorm.

If checked:

  • The CopyStorm Database will be updated without explicit user approval.

If unchecked:

  • The user will be prompted with planned CopyStorm database additions, deletions, or changes. The database upgrade will not occur until the user approves the action.
  • When running in headless mode, CopyStorm will terminate with an Exception indicating the need for database schema upgrade approval.