Triggering schema refreshes
Schema refreshes can be triggered manually, automated on a schedule, or via API. When you kick off a refresh, this starts a job that runs in the background. This can take several minutes depending on the size of the database. There are two types of schema refreshes:| Type | Summary | What will be reflected in Omni? |
|---|---|---|
| Hard refresh | Incorporates all changes | New objects Updated objects Removed objects |
| Soft refresh | Incorporates only additive changes | New objects Updated objects Removed objects |
Performing a schema refresh for dbt differs slightly than those performed on a âregularâ database schema. Specifically, Omni will:
- Search the schema for views that correspond to dbt models and add dbt metadata to them
- If available, generate primary key definitions and relationships based on constraints
Hard refreshes
Hard refreshes are typically performed manually. To trigger this type of refresh:- Use Model > Refresh schema in the model IDE. Note: Performing a hard refresh with this option requires that you refresh the entire model. Specifying individual schemas or tables will perform a soft refresh.
- Navigate to Settings > Connections, open the connection, and click Refresh now
- Use the Refresh schema API
Soft refreshes
Soft refreshes include scheduled refreshes and selectively refreshing schemas and tables.Scheduling refreshes
Scheduling refreshes
To schedule a refresh, navigate to Settings > Connections and open a connection. Click the Schedule button to define a cron schedule to refresh the connectionâs schema:

You could schedule a refresh after your daily ETL pipeline runs so data is always up-to-date
Refreshing specific schemas & tables
Refreshing specific schemas & tables
To selectively refresh schemas and tables, navigate to Model > Refresh schema. In the dialog that displays, add the objects you want to refresh by listing them individually or using wildcard syntax. For example,
sales_*.Requiring branches for schema refreshes
If you prefer to review schema changes before they impact the shared model, enable the connectionâs Branch based schema refresh setting. This will schema refreshes to be performed in an Omni branch before they can be promoted to the shared model. When this setting is enabled:- On-demand and scheduled refreshes will be disabled
- Schema refreshes can only be triggered from the IDE. If youâre not in an existing branch, selecting Model > Refresh schema will prompt you to create a branch first.
Branch-based schema refreshes canât be enabled if a connection has multiple models or if connection environments (dynamic connections) are currently in use.