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.