# 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm#meta_retrieveresult) data structure returned from the Salesforce Metadata API:

| Column             | Description                                                                                                                                                                                                                                                                                           |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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:

| Column      | Description                                                                                      |
| ----------- | ------------------------------------------------------------------------------------------------ |
| 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.capstorm.com/frequently-asked-questions/how-does-copystorm-work/where-does-copystorm-keep-past-revisions-of-salesforce-metadata.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
