# Change Management

If you have a change management tool like Gearset or Copado, you use it to deploy External Objects created by Omnata.

{% hint style="warning" %}
You cannot deploy Omnata **Connections** via change management tools, because they involve Named Credentials which cannot be extracted from environments.

Connections should be created manually in each new environment, but given the same name (even if they point to different databases/schemas in the data warehouse)
{% endhint %}

Aside from Named Credentials, each connection has a metadata object associated with it, which stores non-sensitive information about that environment. They differ in structure between data warehouse technology, but the metadata class is named like `omnata_sf__<Product>_Connection__mdt`, e.g. `omnata_sf__Snowflake_Connection__mdt`

External Objects each have a Table Name field with a value like `Snowflake|Snowflake|MY_TABLE`. That's of the form `<Connection Type>|<Connection Name>|<table name>`, so that the appropriate Omnata connection is used to access the data. Therefore if you just promote External Objects between environments, they will work as long as the connection name is the same.

Importantly, whenever you add an external object, there will be a slight change to the metadata record mentioned above. Specifically, the "ExternalId columns" field will have a new text row added, which is where the primary key column is stored. This field value change should be deployed alongside the external object definition.


---

# 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://docs.omnata.com/omnata-product-documentation/omnata-connect-for-salesforce/best-practices/change-management.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.
