Where Does CopyStorm Keep Past Revisions of Salesforce Metadata?
When metadata backup is enabled for CopyStorm a table named SFMetaFileProperties will be created in the target database to hold metadata backups. In addition a table named SFMetaFilePropertiesHistory will be created to hold past revisions of metadata.
The columns in SFMetaFileProperties mimic the FileProperties data structure returned from the Salesforce Metadata API:
|id||The ID of this metadata record — unlike other IDs in Salesforce it is not guaranteed to be non-null OR unique. In short, internal Salesforce objects violate the normal non-null uniqueness rule.|
|metatype||The type of metadata in this record (e.g. CustomObject, ApexTrigger, etc…). Note that if a meta type is contained within another meta type (e.g. CustomField lives within CustomObject) then it will not have an entry in this table. The data will be contained in the parent record for the object.|
|fileName||The name of the file the metadata API requires for the record.|
|fullName||The full API name of the record.|
|manageableState||This field will contain “unmanaged” for types of metadata that can be redeployed.|
|namespacePrefix||For installed packages this contains the name of the package’s namespace.|
|metaxml||For records that require a companion “-meta.xml” this field contains the content.|
|content||The raw base64 encoded data for this meta record.|
|body||For records in UTF-8, contains the decoded value of the content column.|
|createdById||ID of the user in Salesforce who created this metadata record. NOTE: this value may be null.|
|createdByName||Name of the user in Salesforce who created this metadata record. NOTE: this value may be null.|
|createdDate||Timestamp of when the record was created.|
|lastModifiedById||ID of the user in Salesforce who last modified this metadata record. NOTE: this value may be null.|
|lastModifiedByName||Name of the user in Salesforce who last modified this metadata record. NOTE: this value may be null.|
|lastModifiedDate||Timestamp of when the record was last modified.|
The companion table “SFMetaFilePropertiesHistory” has the same structure as SFMetaFileProperties but with two additional columns:
|historyDate||Timestamp of when this history record was written. Older versions have older historyDate values.|
|version||The history date represented as the number of milliseconds since 1-Jan-1970.|
It is doubtful that you will want to access these tables directly. However, CopyStorm’s companion product, CopyStorm/Restore, uses these tables to provide a metadata report experience that can be performed with surgical accuracy.