The short answer is “Yes, CopyStorm backs up all Salesforce metadata.”
In Salesforce, metadata is stored in two different ways:
- In Tables (SObject) — much of the key Salesforce metadata is stored in tables.
- Examples include Apex Classes, Apex Pages, Apex Triggers, and Workflows/Processes
- Not In Tables — this type of data is only accessible as zip archives via the Salesforce Metadata API.
CopyStorm backs up all metadata stored in Tables and, just as importantly, maintains revision history as the records change.
- If an ApexClass changes, the old version of the class is saved in a field history tracking table.
- If an ApexPage is deleted, the definition of the ApexPage just before it was deleted is saved in a field history tracking table.
Since metadata tables used by CopyStorm are defined by Salesforce’s ERD, the data in them is readily accessible within the CopyStorm database. For example, the definition of the ApexClass “MyFavoriteClass” can be found with the following SQL:
- SELECT body FROM ApexClass WHERE name=”MyFavoriteClass”
Starting with CopyStorm 7.37.2, metadata accessible only via the Salesforce metadata API is backed up to the CopyStorm table SFMetaFileProperties and can be restored using CopyStorm/Restore.